package nodebox.util; import org.junit.Test; import java.io.File; import static junit.framework.TestCase.*; import static nodebox.client.FileUtils.getBaseName; public class FileUtilTest { @Test public void testStripExtension() { assertEquals("test", FileUtils.stripExtension("test.ndbx")); assertEquals("MixedCase", FileUtils.stripExtension("MixedCase.GIF")); // Retain case assertEquals("a.lot.of.dots", FileUtils.stripExtension("a.lot.of.dots.dot")); // Extension = last dot assertEquals("noextension", FileUtils.stripExtension("noextension")); assertEquals("/a/b/c.d/some", FileUtils.stripExtension("/a/b/c.d/some.file")); // Dots in path name assertEquals("", FileUtils.stripExtension("")); // Retain case } @Test public void testGetExtension() { assertEquals("png", FileUtils.getExtension("helloworld.png")); assertEquals("gif", FileUtils.getExtension("MixedCase.GIF")); // Always lower case assertEquals("dot", FileUtils.getExtension("a.lot.of.dots.dot")); // Extension = last dot assertEquals("", FileUtils.getExtension("noextension")); } @Test public void testGetBaseName() { assertEquals("helloworld", getBaseName("helloworld.png")); assertEquals("a.lot.of.dots", getBaseName("a.lot.of.dots.dot")); assertEquals("noextension", getBaseName("noextension")); } @Test public void testGetRelativePaths() { String sep = "/"; assertEquals("stuff" + sep + "xyz.dat", FileUtils.getRelativePath( new File("/var/data/stuff/xyz.dat"), new File("/var/data/"))); assertEquals(".." + sep + ".." + sep + "b" + sep + "c", FileUtils.getRelativePath( new File("/a/b/c"), new File("/a/x/y/"))); assertEquals(".." + sep + ".." + sep + "b" + sep + "c", FileUtils.getRelativePath( new File("/m/n/o/a/b/c"), new File("/m/n/o/a/x/y/"))); } }