blob: 9888082a03e6ab18d16762e8d746a4bc9dcb2394 [file] [log] [blame]
package org.eclipse.e4.javascript.test;
import org.eclipse.e4.internal.javascript.JSImport;
import org.eclipse.e4.internal.javascript.VersionRange;
import junit.framework.TestCase;
public class JSImportTest extends TestCase {
public JSImportTest(String name) {
super(name);
}
protected void setUp() throws Exception {
//
}
protected void tearDown() throws Exception {
//
}
public void testNullHeader() {
try {
new JSImport(null);
} catch (IllegalArgumentException e) {
return;
}
fail();
}
public void testNameAndEmptyVersionRange() {
JSImport jsImport = new JSImport("a.a");
assertEquals("a.a", jsImport.getName());
assertEquals(VersionRange.emptyRange, jsImport.getVersionRange());
assertEquals(null, jsImport.getBundleSymbolicName());
assertEquals(VersionRange.emptyRange, jsImport.getBundleVersionRange());
assertEquals(0, jsImport.getAttributes().size());
assertEquals(0, jsImport.getDirectives().size());
assertEquals(false, jsImport.isOptional());
}
public void testNameAndVersion() {
JSImport jsImport = new JSImport("a.a;version=1.2.1");
assertEquals("a.a", jsImport.getName());
assertEquals(new VersionRange("1.2.1"), jsImport.getVersionRange());
assertEquals(null, jsImport.getBundleSymbolicName());
assertEquals(VersionRange.emptyRange, jsImport.getBundleVersionRange());
assertEquals(1, jsImport.getAttributes().size());
assertEquals(0, jsImport.getDirectives().size());
assertEquals(false, jsImport.isOptional());
}
public void testBundleNameAndVersion() {
JSImport jsImport = new JSImport("a.a;version=1.2.1;bundle-symbolic-name=test1;bundle-version=1.8");
assertEquals("a.a", jsImport.getName());
assertEquals(new VersionRange("1.2.1"), jsImport.getVersionRange());
assertEquals("test1", jsImport.getBundleSymbolicName());
assertEquals(new VersionRange("1.8"), jsImport.getBundleVersionRange());
assertEquals(3, jsImport.getAttributes().size());
assertEquals(0, jsImport.getDirectives().size());
assertEquals(false, jsImport.isOptional());
}
public void testIsOptional() {
JSImport jsImport = new JSImport("a.a;version=1.2.1;bundle-symbolic-name=test1;bundle-version=1.8;resolution:=optional");
assertEquals("a.a", jsImport.getName());
assertEquals(new VersionRange("1.2.1"), jsImport.getVersionRange());
assertEquals("test1", jsImport.getBundleSymbolicName());
assertEquals(new VersionRange("1.8"), jsImport.getBundleVersionRange());
assertEquals(3, jsImport.getAttributes().size());
assertEquals(1, jsImport.getDirectives().size());
assertEquals(true, jsImport.isOptional());
}
}