[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