diff --git a/src/main/java/info/textgrid/services/aggregator/tree/FileExtensionMap.java b/src/main/java/info/textgrid/services/aggregator/tree/FileExtensionMap.java index 6c48449a898411c150ccd318cb22b3c4bdeaebd5..89a852c4350af5e5ee8985b2a7083431a395dae0 100644 --- a/src/main/java/info/textgrid/services/aggregator/tree/FileExtensionMap.java +++ b/src/main/java/info/textgrid/services/aggregator/tree/FileExtensionMap.java @@ -27,7 +27,12 @@ public class FileExtensionMap { private static Logger logger = Logger.getLogger(FileExtensionMap.class); protected FileExtensionMap() throws IOException { - final Pattern mapLine = Pattern.compile("^([^# \t]+)[ \t]*([^#]+)$"); + + // Comments start with # and reach to the end of line. + // A matching line contains of a mime type and one or more extensions + // comments are stripped + // <whitespace>? <mimetype>¹ <whitespace> <extensions>² <whitespace>? <comment>? + final Pattern mapLine = Pattern.compile("^[ \t]*([^# \t]+)[ \t]*([^#]+)[ \t]*(#.*)?$"); final Pattern space = Pattern.compile("[ \t]+"); final LineNumberReader reader = new LineNumberReader( new InputStreamReader(getClass().getClassLoader() diff --git a/src/test/java/info/textgrid/services/aggregator/tree/FileExtensionMapTest.java b/src/test/java/info/textgrid/services/aggregator/tree/FileExtensionMapTest.java index 8e2f0c1054fffc098f62cd1b357e8385bec9013a..dc7d245a442c1ea7f5d07b9e2368271510c98366 100644 --- a/src/test/java/info/textgrid/services/aggregator/tree/FileExtensionMapTest.java +++ b/src/test/java/info/textgrid/services/aggregator/tree/FileExtensionMapTest.java @@ -25,6 +25,11 @@ public void testGetExtensions() { Assert.assertEquals("Wrong extensions for XHTML", ImmutableList.of("xhtml", "xht"), xhtml); } + + @Test + public void testTextGridTypes() { + Assert.assertEquals("aggregation", ext.getFirstExtension("text/tg.aggregation+xml").orNull()); + } @Test public void testGetFirstExtension() {