[RAT-229] Mp3 files are not treated as binary
 o Added several audio format extensions.


git-svn-id: https://svn.apache.org/repos/asf/creadur/rat/trunk@1786209 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/BinaryGuesser.java b/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/BinaryGuesser.java
index fcbc49a..5b0c0c2 100644
--- a/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/BinaryGuesser.java
+++ b/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/BinaryGuesser.java
@@ -206,6 +206,10 @@
         return BinaryGuesser.extensionMatches(name, KEYSTORE_EXTENSIONS);
     }
 
+    public static final boolean isAudio(final String name) {
+        return BinaryGuesser.extensionMatches( name, AUDIO_EXTENSIONS );
+    }
+
     /**
      * @param name file name.
      * @return Is a file by that name a known binary file?
@@ -217,7 +221,8 @@
         String normalisedName = GuessUtils.normalise(name);
         return BinaryGuesser.JAR_MANIFEST.equalsIgnoreCase(name) || BinaryGuesser.isImage(normalisedName)
                 || BinaryGuesser.isKeystore(normalisedName) || BinaryGuesser.isBytecode(normalisedName)
-                || BinaryGuesser.isBinaryData(normalisedName) || BinaryGuesser.isExecutable(normalisedName);
+                || BinaryGuesser.isBinaryData(normalisedName) || BinaryGuesser.isExecutable(normalisedName)
+                || BinaryGuesser.isAudio( normalisedName );
     }
 
     private static final String[] DATA_EXTENSIONS = {
@@ -255,6 +260,14 @@
             "OBJ", "PYC",
     };
 
+    private static final String[] AUDIO_EXTENSIONS = {
+            "AIF", "IFF",
+            "M3U", "M4A",
+            "MID", "MP3",
+            "MPA", "WAV",
+            "WMA"
+    };
+    
     /**
      * Based on http://www.apache.org/dev/svn-eol-style.txt
      */
diff --git a/apache-rat-core/src/test/java/org/apache/rat/document/impl/guesser/BinaryGuesserTest.java b/apache-rat-core/src/test/java/org/apache/rat/document/impl/guesser/BinaryGuesserTest.java
index a80c3fb..a883129 100644
--- a/apache-rat-core/src/test/java/org/apache/rat/document/impl/guesser/BinaryGuesserTest.java
+++ b/apache-rat-core/src/test/java/org/apache/rat/document/impl/guesser/BinaryGuesserTest.java
@@ -50,7 +50,14 @@
             "my.truststore",//
             //"foo.Java", //
             //"manifest.Mf",//
-            "deprecatedtechnology.swf"
+            "deprecatedtechnology.swf",
+            "xyz.aif",
+            "abc.iff",
+            // Audio Files
+            "test.m3u", "test.m4a",
+            "test-audio.mid", "test-audio.mp3",
+            "test-audio.mpa", "test-audio.wav",
+            "test-audio.wma"
     );
 
     @Test