Author: nick
Date: Fri Jul 15 17:47:26 2011
New Revision: 1147262
URL: http://svn.apache.org/viewvc?rev=1147262&view=rev
Log:
TIKA-507 Add byte based detection tests for .pfa/.pfb/.pfm (which we currently
lack free sample files for)
Modified:
tika/trunk/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
tika/trunk/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
Modified:
tika/trunk/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
URL:
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml?rev=1147262&r1=1147261&r2=1147262&view=diff
==============================================================================
---
tika/trunk/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
(original)
+++
tika/trunk/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
Fri Jul 15 17:47:26 2011
@@ -2354,10 +2354,10 @@
<mime-type type="application/x-font-type1">
<glob pattern="*.pfa"/>
<glob pattern="*.pfb"/>
- <magic priority="40">
+ <magic priority="60">
<!-- Match for PFB, the binary format -->
- <match value="\x80\x01\xFF\xFF\x00\x00%!PS-Adobe-Font" type="string"
- mask="0xFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFF" offset="0" />
+ <match value="\x80\x01\xFF\xFF\x00\x00%!PS-AdobeFont" type="string"
+ mask="0xFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" offset="0"/>
<!-- Match for PFA, the text format" -->
<match value="%!PS-AdobeFont-1.0" type="string" offset="0" />
</magic>
Modified:
tika/trunk/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
URL:
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java?rev=1147262&r1=1147261&r2=1147262&view=diff
==============================================================================
---
tika/trunk/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
(original)
+++
tika/trunk/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
Fri Jul 15 17:47:26 2011
@@ -17,6 +17,7 @@
package org.apache.tika.mime;
// Junit imports
+import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
@@ -413,9 +414,30 @@ public class TestMimeTypes extends TestC
assertTypeByData("application/x-font-adobe-metric", "testAFM.afm");
assertTypeByName("application/x-font-printer-metric", "x.pfm");
+ // TODO Get a sample .pfm file
+ assertTypeByData(
+ "application/x-font-printer-metric",
+ new byte[] {0x00, 0x01, 256-0xb1, 0x0a, 0x00, 0x00, 0x43, 0x6f,
+ 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20}
+ );
assertTypeByName("application/x-font-type1", "x.pfa");
+ // TODO Get a sample .pfa file
+ assertTypeByData(
+ "application/x-font-type1",
+ new byte[] {0x25, 0x21, 0x50, 0x53, 0x2d, 0x41, 0x64, 0x6f,
+ 0x62, 0x65, 0x46, 0x6f, 0x6e, 0x74, 0x2d, 0x31,
+ 0x2e, 0x30, 0x20, 0x20, 0x2d, 0x2a, 0x2d, 0x20}
+ );
+
assertTypeByName("application/x-font-type1", "x.pfb");
+ // TODO Get a sample .pfm file
+ assertTypeByData(
+ "application/x-font-type1",
+ new byte[] {-0x80, 0x01, 0x09, 0x05, 0x00, 0x00, 0x25, 0x21,
+ 0x50, 0x53, 0x2d, 0x41, 0x64, 0x6f, 0x62, 0x65,
+ 0x46, 0x6f, 0x6e, 0x74, 0x2d, 0x31, 0x2e, 0x30 }
+ );
}
/**
@@ -474,6 +496,17 @@ public class TestMimeTypes extends TestC
}
}
+ private void assertTypeByData(String expected, byte[] data)
+ throws IOException {
+ InputStream stream = new ByteArrayInputStream(data);
+ try {
+ Metadata metadata = new Metadata();
+ assertEquals(expected, repo.detect(stream, metadata).toString());
+ } finally {
+ stream.close();
+ }
+ }
+
private void assertTypeByNameAndData(String expected, String filename)
throws IOException {
InputStream stream = TestMimeTypes.class.getResourceAsStream(