You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ni...@apache.org on 2014/03/18 14:07:04 UTC

svn commit: r1578857 - in /tika/trunk/tika-parsers: pom.xml src/test/java/org/apache/tika/parser/AutoDetectParserTest.java

Author: nick
Date: Tue Mar 18 13:07:03 2014
New Revision: 1578857

URL: http://svn.apache.org/r1578857
Log:
Upgrade the Ogg plugin to 0.4, re-enable the FLAC test, and add an Opus one. Solves TIKA-1259 and TIKA-1113

Modified:
    tika/trunk/tika-parsers/pom.xml
    tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java

Modified: tika/trunk/tika-parsers/pom.xml
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/pom.xml?rev=1578857&r1=1578856&r2=1578857&view=diff
==============================================================================
--- tika/trunk/tika-parsers/pom.xml (original)
+++ tika/trunk/tika-parsers/pom.xml Tue Mar 18 13:07:03 2014
@@ -38,7 +38,7 @@
     <poi.version>3.10-FINAL</poi.version>
     <codec.version>1.5</codec.version> <!-- NOTE: sync with POI -->
     <mime4j.version>0.7.2</mime4j.version>
-    <vorbis.version>0.3</vorbis.version>
+    <vorbis.version>0.4</vorbis.version>
   </properties>
 
   <dependencies>

Modified: tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java?rev=1578857&r1=1578856&r2=1578857&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java (original)
+++ tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java Tue Mar 18 13:07:03 2014
@@ -31,10 +31,12 @@ import org.apache.tika.config.TikaConfig
 import org.apache.tika.detect.Detector;
 import org.apache.tika.exception.TikaException;
 import org.apache.tika.metadata.Metadata;
+import org.apache.tika.metadata.TikaCoreProperties;
 import org.apache.tika.metadata.XMPDM;
 import org.apache.tika.mime.MediaType;
 import org.apache.tika.sax.BodyContentHandler;
 import org.gagravarr.tika.FlacParser;
+import org.gagravarr.tika.OpusParser;
 import org.gagravarr.tika.VorbisParser;
 import org.junit.Test;
 import org.xml.sax.ContentHandler;
@@ -63,6 +65,7 @@ public class AutoDetectParserTest {
     private static final String JPEG       = "image/jpeg";
     private static final String PNG        = "image/png";
     private static final String OGG_VORBIS = "audio/vorbis";
+    private static final String OGG_OPUS   = "audio/opus";
     private static final String OGG_FLAC   = "audio/x-oggflac"; 
     private static final String FLAC_NATIVE= "audio/x-flac";
     private static final String OPENOFFICE
@@ -272,31 +275,36 @@ public class AutoDetectParserTest {
     }
 
     /**
-     * Test to ensure that the Vorbis and FLAC parsers have been correctly
-     *  included, and are available
-     * TODO Re-enable the Ogg-FLAC check when we upgrade the Vorbis Library, TIKA-1259
+     * Test to ensure that the Ogg Audio parsers (Vorbis, Opus, Flac etc)
+     *  have been correctly included, and are available
      */
     @SuppressWarnings("deprecation")
     @Test
-    public void testVorbisFlac() throws Exception {
+    public void testOggFlacAudio() throws Exception {
        // The three test files should all have similar test data
        String[] testFiles = new String[] {
-             "testVORBIS.ogg", "testFLAC.flac", // "testFLAC.oga"
+             "testVORBIS.ogg", "testFLAC.flac", "testFLAC.oga",
+             "testOPUS.opus"
        };
        MediaType[] mediaTypes = new MediaType[] {
                MediaType.parse(OGG_VORBIS), MediaType.parse(FLAC_NATIVE),
-               // MediaType.parse(OGGC_NATIVE)
+               MediaType.parse(OGG_FLAC), MediaType.parse(OGG_OPUS)
        };
        
        // Check we can load the parsers, and they claim to do the right things
        VorbisParser vParser = new VorbisParser();
        assertNotNull("Parser not found for " + mediaTypes[0], 
                      vParser.getSupportedTypes(new ParseContext()));
+       
        FlacParser fParser = new FlacParser();
        assertNotNull("Parser not found for " + mediaTypes[1], 
                      fParser.getSupportedTypes(new ParseContext()));
-       //assertNotNull("Parser not found for " + mediaTypes[2], 
-       //              fParser.getSupportedTypes(new ParseContext()));
+       assertNotNull("Parser not found for " + mediaTypes[2], 
+                     fParser.getSupportedTypes(new ParseContext()));
+       
+       OpusParser oParser = new OpusParser();
+       assertNotNull("Parser not found for " + mediaTypes[3], 
+                     oParser.getSupportedTypes(new ParseContext()));
        
        // Check we found the parser
        CompositeParser parser = (CompositeParser)tika.getParser();
@@ -323,13 +331,17 @@ public class AutoDetectParserTest {
                    mediaTypes[i].toString(), metadata.get(Metadata.CONTENT_TYPE));
 
              // Check some of the common metadata
+             // Old style metadata
              assertEquals("Test Artist", metadata.get(Metadata.AUTHOR));
              assertEquals("Test Title", metadata.get(Metadata.TITLE));
-//             assertEquals("Test Artist", metadata.get(TikaCoreProperties.AUTHOR));
-//             assertEquals("Test Title", metadata.get(TikaCoreProperties.TITLE));
+             // New style metadata
+             assertEquals("Test Artist", metadata.get(TikaCoreProperties.CREATOR));
+             assertEquals("Test Title", metadata.get(TikaCoreProperties.TITLE));
              
              // Check some of the XMPDM metadata
-             assertEquals("Test Album", metadata.get(XMPDM.ALBUM));
+             if (! file.endsWith(".opus")) {
+                 assertEquals("Test Album", metadata.get(XMPDM.ALBUM));
+             }
              assertEquals("Test Artist", metadata.get(XMPDM.ARTIST));
              assertEquals("Stereo", metadata.get(XMPDM.AUDIO_CHANNEL_TYPE));
              assertEquals("44100", metadata.get(XMPDM.AUDIO_SAMPLE_RATE));