You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2014/10/08 19:12:29 UTC
svn commit: r1630183 -
/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSString.java
Author: tilman
Date: Wed Oct 8 17:12:28 2014
New Revision: 1630183
URL: http://svn.apache.org/r1630183
Log:
PDFBOX-2401: add test to check that String values with 00 and FF are considered different
Modified:
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSString.java
Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSString.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSString.java?rev=1630183&r1=1630182&r2=1630183&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSString.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSString.java Wed Oct 8 17:12:28 2014
@@ -19,6 +19,7 @@ package org.apache.pdfbox.cos;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
+import java.util.Arrays;
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -412,4 +413,23 @@ public class TestCOSString extends TestC
str3.setForceLiteralForm(true);
assertTrue(str1.hashCode() == str3.hashCode());
}
+
+ /**
+ * Test testCompareFromHexString() - tests that Strings created from hex
+ * compare correctly (JDK bug PDFBOX-2401)
+ */
+ public void testCompareFromHexString() throws IOException
+ {
+ COSString test1 = COSString.createFromHexString("000000FF000000");
+ COSString test2 = COSString.createFromHexString("000000FF00FFFF");
+ assertEquals(test1, test1);
+ assertEquals(test2, test2);
+ assertFalse(test1.getHexString().equals(test2.getHexString()));
+ assertFalse(Arrays.equals(test1.getBytes(), test2.getBytes()));
+ assertFalse(test1.equals(test2));
+ assertFalse(test2.equals(test1));
+
+ // if this test fails, then the JDK bug has been fixed!
+ assertEquals(test1.getString(), test2.getString());
+ }
}