/**
* Copyright (c) 2013-2016 Angelo ZERR.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Angelo Zerr <angelo.zerr@gmail.com> - initial API and implementation
*/
package tern.metadata;
import java.io.File;
import java.util.Collection;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class TernModuleMetadataManagerTest {
private TernModuleMetadataManager manager;
@Before
public void init() {
manager = new TernModuleMetadataManager(new File("../ternjs"));
}
@Test
public void metadataExists() {
TernModuleMetadata metadata = manager
.getMetadata("jquery");
Assert.assertNotNull(metadata);
Assert.assertEquals("jquery", metadata.getName());
Assert.assertEquals("jQuery", metadata.getLabel());
}
@Test
public void jQueryDependencies() {
TernModuleMetadata metadata = manager
.getMetadata("jquery");
Assert.assertNotNull(metadata);
Assert.assertEquals("jquery", metadata.getName());
Collection<String> dependencies = metadata.getDependencies(null);
Assert.assertNotNull(dependencies);
Assert.assertEquals(2, dependencies.size());
Assert.assertTrue(dependencies.contains("ecma5"));
Assert.assertTrue(dependencies.contains("browser"));
}
@Test
public void AlloyUIDependencies() {
TernModuleMetadata metadata = manager
.getMetadata("aui");
Assert.assertNotNull(metadata);
Assert.assertEquals("aui", metadata.getName());
Assert.assertEquals("AlloyUI", metadata.getLabel());
Collection<String> dependencies = metadata.getDependencies("2.0.x");
Assert.assertNotNull(dependencies);
Assert.assertEquals(3, dependencies.size());
Assert.assertTrue(dependencies.contains("ecma5"));
Assert.assertTrue(dependencies.contains("browser"));
Assert.assertTrue(dependencies.contains("yui3"));
}
@Test
public void ECMADependencies() {
TernModuleMetadata metadata = manager
.getMetadata("ecma");
Assert.assertNotNull(metadata);
Assert.assertEquals("ecma", metadata.getName());
Assert.assertEquals("ECMAScript", metadata.getLabel());
Collection<String> dependencies = metadata.getDependencies("5");
Assert.assertNotNull(dependencies);
Assert.assertEquals(0, dependencies.size());
dependencies = metadata.getDependencies("6");
Assert.assertNotNull(dependencies);
Assert.assertEquals(1, dependencies.size());
Assert.assertTrue(dependencies.contains("ecma5"));
}
@Test
public void ECMARequiredDependencies() {
TernModuleMetadata metadata = manager
.getMetadata("ecma");
Assert.assertNotNull(metadata);
Assert.assertEquals("ecma", metadata.getName());
Collection<String> ecma5Dependencies = metadata
.getRequiredDependencies("5");
Assert.assertNotNull(ecma5Dependencies);
Assert.assertEquals(0, ecma5Dependencies.size());
Collection<String> ecma6Dependencies = metadata
.getRequiredDependencies("6");
Assert.assertNotNull(ecma6Dependencies);
Assert.assertEquals(1, ecma6Dependencies.size());
Assert.assertTrue(ecma6Dependencies.contains("ecma5"));
}
}