package fitnesse.wiki.fs; import fitnesse.wiki.VersionInfo; import org.junit.Test; import java.io.File; import java.util.Date; import java.util.regex.Matcher; import static fitnesse.wiki.fs.ZipFileVersionInfo.*; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; public class ZipFileVersionInfoTest { @Test public void testFilePatternWithDate() { Matcher match = COMPEX_NAME_PATTERN.matcher("01234567890123"); assertTrue(match.find()); assertEquals("01234567890123", match.group(2)); } @Test public void testFilePatternWithAuthorAndDate() { Matcher match = COMPEX_NAME_PATTERN.matcher("Joe-01234567890123"); assertTrue(match.find()); assertEquals("Joe", match.group(1)); assertEquals("01234567890123", match.group(2)); } @Test public void testParts() { VersionInfo version = makeVersionInfo(new File("joe-20030101010101.zip")); assertEquals("joe", version.getAuthor()); assertEquals("joe-20030101010101", version.getName()); } @Test public void testGetCreationTime() throws Exception { VersionInfo version = makeVersionInfo(new File("joe-20030101010101.zip")); Date date = version.getCreationTime(); assertEquals("20030101010101", makeVersionTimeFormat().format(date)); } @Test public void testGetAuthor() throws Exception { checkAuthor("01234567890123", ""); checkAuthor("123-01234567890123", ""); checkAuthor("-123-01234567890123", ""); checkAuthor("user-01234567890123", "user"); checkAuthor("user-123-01234567890123", "user"); checkAuthor("abc123-123-01234567890123", "abc123"); checkAuthor("abc123efg-123-01234567890123", "abc123efg"); checkAuthor("joe <joe@blo.com>-123-01234567890123", "joe <joe@blo.com>"); } private void checkAuthor(String versionName, String author) throws Exception { VersionInfo version = makeVersionInfo(new File(versionName + ".zip")); assertEquals(author, version.getAuthor()); } }