package org.drugis.common.gui; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.io.File; import org.junit.Before; import org.junit.Test; public class FileChooserTest { private FileDialog.Filter d_simpleFilter; private FileDialog.Filter d_multiFilter; @Before public void setUp() { d_simpleFilter = new FileDialog.Filter(new String[] { "addis" }, "ADDIS data files"); d_multiFilter = new FileDialog.Filter(new String[] { "addis", "xml" }, "ADDIS and Legacy XML files"); } @Test public void TestExtensionFix() { assertEquals("/home/test.xml/test.xml", FileDialog.fixExtension("/home/test.xml/test.xml", "xml")); assertEquals("/home/test.xml/test.xm.xml", FileDialog.fixExtension("/home/test.xml/test.xm", "xml")); assertEquals("/home/test.xml/test.jpg.xml", FileDialog.fixExtension("/home/test.xml/test.jpg", "xml")); assertEquals("/home/test.xml/test.xml", FileDialog.fixExtension("/home/test.xml/test", "xml")); assertEquals("./.xml", FileDialog.fixExtension("./", "xml")); assertEquals("a.xml", FileDialog.fixExtension("a", "xml")); } @Test public void testAlwaysAcceptDirectory() { assertTrue(d_simpleFilter.accept(new File("."))); } @Test public void testAcceptFirstExtension() { assertTrue(d_simpleFilter.accept(new File("test.addis"))); assertTrue(d_simpleFilter.accept(new File("/home/florin/test.addis"))); assertTrue(d_simpleFilter.accept(new File("/home/florin/test.xml.addis"))); assertFalse(d_simpleFilter.accept(new File("test.xml.addi"))); assertFalse(d_simpleFilter.accept(new File("test.xml"))); assertFalse(d_simpleFilter.accept(new File("test.xml.add"))); assertFalse(d_simpleFilter.accept(new File("test.add"))); assertFalse(d_simpleFilter.accept(new File("addis"))); assertFalse(d_simpleFilter.accept(new File("/home/florin/../addis"))); } @Test public void testAcceptMultipleExtensions() { assertTrue(d_multiFilter.accept(new File("test.addis"))); assertTrue(d_multiFilter.accept(new File("test.xml"))); assertTrue(d_multiFilter.accept(new File("/home/florin/test.addis"))); assertTrue(d_multiFilter.accept(new File("/home/florin/test.xml.addis"))); assertFalse(d_multiFilter.accept(new File("test.xml.addi"))); assertFalse(d_multiFilter.accept(new File("test.xml.add"))); assertFalse(d_multiFilter.accept(new File("test.add"))); assertFalse(d_multiFilter.accept(new File("addis"))); assertFalse(d_multiFilter.accept(new File("/home/florin/../addis"))); } }