| package org.eclipse.e4.languages.javascript.test; |
| |
| import org.eclipse.e4.internal.languages.javascript.JSImportPackage; |
| import org.eclipse.e4.internal.languages.javascript.JSVersionRange; |
| |
| 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 JSImportPackage(null); |
| } catch (IllegalArgumentException e) { |
| return; |
| } |
| fail(); |
| } |
| |
| public void testNameAndEmptyVersionRange() { |
| JSImportPackage jsImport = new JSImportPackage("a.a"); |
| assertEquals("a.a", jsImport.getName()); |
| assertEquals(JSVersionRange.emptyRange, jsImport.getVersionRange()); |
| assertEquals(null, jsImport.getBundleSymbolicName()); |
| assertEquals(JSVersionRange.emptyRange, jsImport.getBundleVersionRange()); |
| assertEquals(0, jsImport.getAttributes().size()); |
| assertEquals(0, jsImport.getDirectives().size()); |
| assertEquals(false, jsImport.isOptional()); |
| } |
| |
| public void testNameAndVersion() { |
| JSImportPackage jsImport = new JSImportPackage("a.a;version=1.2.1"); |
| assertEquals("a.a", jsImport.getName()); |
| assertEquals(new JSVersionRange("1.2.1"), jsImport.getVersionRange()); |
| assertEquals(null, jsImport.getBundleSymbolicName()); |
| assertEquals(JSVersionRange.emptyRange, jsImport.getBundleVersionRange()); |
| assertEquals(1, jsImport.getAttributes().size()); |
| assertEquals(0, jsImport.getDirectives().size()); |
| assertEquals(false, jsImport.isOptional()); |
| } |
| |
| public void testBundleNameAndVersion() { |
| JSImportPackage jsImport = new JSImportPackage("a.a;version=1.2.1;bundle-symbolic-name=test1;bundle-version=1.8"); |
| assertEquals("a.a", jsImport.getName()); |
| assertEquals(new JSVersionRange("1.2.1"), jsImport.getVersionRange()); |
| assertEquals("test1", jsImport.getBundleSymbolicName()); |
| assertEquals(new JSVersionRange("1.8"), jsImport.getBundleVersionRange()); |
| assertEquals(3, jsImport.getAttributes().size()); |
| assertEquals(0, jsImport.getDirectives().size()); |
| assertEquals(false, jsImport.isOptional()); |
| } |
| |
| public void testIsOptional() { |
| JSImportPackage jsImport = new JSImportPackage("a.a;version=1.2.1;bundle-symbolic-name=test1;bundle-version=1.8;resolution:=optional"); |
| assertEquals("a.a", jsImport.getName()); |
| assertEquals(new JSVersionRange("1.2.1"), jsImport.getVersionRange()); |
| assertEquals("test1", jsImport.getBundleSymbolicName()); |
| assertEquals(new JSVersionRange("1.8"), jsImport.getBundleVersionRange()); |
| assertEquals(3, jsImport.getAttributes().size()); |
| assertEquals(1, jsImport.getDirectives().size()); |
| assertEquals(true, jsImport.isOptional()); |
| } |
| } |