package net.jangaroo.utils;
import org.junit.Assert;
import org.junit.Test;
import java.io.File;
/**
* Created by IntelliJ IDEA. User: fwienber Date: 05.07.11 Time: 09:53 To change this template use File | Settings |
* File Templates.
*/
public class CompilerUtilsTest {
@Test
public void testQName() throws Exception {
Assert.assertEquals("irgend.wo.Was", CompilerUtils.qName("irgend.wo", "Was"));
Assert.assertEquals("Was", CompilerUtils.qName("", "Was"));
}
@Test
public void testPackageName() throws Exception {
Assert.assertEquals("irgend.wo", CompilerUtils.packageName("irgend.wo.Was"));
Assert.assertEquals("", CompilerUtils.packageName("Was"));
}
@Test
public void testClassName() throws Exception {
Assert.assertEquals("Was", CompilerUtils.className("irgend.wo.Was"));
Assert.assertEquals("Was", CompilerUtils.className("Was"));
}
@Test
public void testFileFromQName() throws Exception {
Assert.assertEquals(new File("pfad/irgend/wo/Was.as"), CompilerUtils.fileFromQName("irgend.wo.Was", new File("pfad"), ".as"));
Assert.assertEquals(new File("pfad/Was.as"), CompilerUtils.fileFromQName("Was", new File("pfad"), ".as"));
Assert.assertEquals(new File("pfad/irgend/wo/Was.as"), CompilerUtils.fileFromQName("irgend.wo", "Was", new File("pfad"), ".as"));
}
@Test
public void testFileNameFromQName() throws Exception {
Assert.assertEquals("irgend/wo/Was.as", CompilerUtils.fileNameFromQName("irgend.wo.Was", '/', ".as"));
Assert.assertEquals("Was.as", CompilerUtils.fileNameFromQName("Was", '/', ".as"));
}
@Test
public void testQNameFromFile() throws Exception {
File dir = new File("pfad");
Assert.assertEquals("irgend.wo.Was", CompilerUtils.qNameFromFile(dir, new File(dir, "irgend/wo/Was.as")));
Assert.assertEquals("Was", CompilerUtils.qNameFromFile(dir, new File(dir, "Was.as")));
}
@Test
public void testDirname() {
Assert.assertEquals(new File("this/is/my").getPath(),
CompilerUtils.dirname(new File("this/is/my/file.bla").getPath()));
}
@Test
public void testRemoveExtension() {
Assert.assertEquals("this/is/my/file",CompilerUtils.removeExtension("this/is/my/file.bla"));
Assert.assertEquals("file",CompilerUtils.removeExtension("file.bla"));
Assert.assertEquals("file",CompilerUtils.removeExtension("file"));
}
@Test
public void testUncapitalize() {
Assert.assertEquals(null, CompilerUtils.uncapitalize(null));
Assert.assertEquals("", CompilerUtils.uncapitalize(""));
Assert.assertEquals("a", CompilerUtils.uncapitalize("a"));
Assert.assertEquals("a", CompilerUtils.uncapitalize("A"));
Assert.assertEquals("aB", CompilerUtils.uncapitalize("aB"));
Assert.assertEquals("ab", CompilerUtils.uncapitalize("Ab"));
Assert.assertEquals("ab", CompilerUtils.uncapitalize("ab"));
Assert.assertEquals("ab", CompilerUtils.uncapitalize("AB"));
Assert.assertEquals("aBc", CompilerUtils.uncapitalize("ABc"));
}
@Test
public void testRelativePathBelow() {
Assert.assertEquals("bar", CompilerUtils.getRelativePathBelow("foo/", "foo/bar"));
Assert.assertEquals("bar/baz", CompilerUtils.getRelativePathBelow("foo/", "foo/bar/baz"));
Assert.assertEquals("bar/baz/", CompilerUtils.getRelativePathBelow("foo/", "foo/bar/baz/"));
Assert.assertNull(CompilerUtils.getRelativePathBelow("foo/", "bar"));
}
@Test
public void testRelativePath() {
Assert.assertEquals("../bar", CompilerUtils.getRelativePath("foo/", "bar", "/", false));
Assert.assertEquals("../bar/baz", CompilerUtils.getRelativePath("foo/", "bar/baz", "/", false));
Assert.assertEquals("../bar/", CompilerUtils.getRelativePath("foo/", "bar/", "/", false));
Assert.assertEquals("../bar", CompilerUtils.getRelativePath("faz/foo/", "faz/bar", "/", false));
Assert.assertEquals("../bar/baz", CompilerUtils.getRelativePath("faz/foo/", "faz/bar/baz", "/", false));
Assert.assertEquals("../bar/", CompilerUtils.getRelativePath("faz/foo/", "faz/bar/", "/", false));
Assert.assertEquals("..\\package1\\TestInclude_fragment.as",
CompilerUtils.getRelativePath(
"C:\\workspace\\git\\jangaroo-tools\\jangaroo\\jangaroo-compiler-itests\\src\\test\\joo\\package2\\",
"C:\\workspace\\git\\jangaroo-tools\\jangaroo\\jangaroo-compiler-itests\\src\\test\\joo\\package1\\TestInclude_fragment.as",
"\\", false));
}
}