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 2020/07/18 14:16:10 UTC

svn commit: r1880026 - /pdfbox/branches/issue45/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSFloat.java

Author: tilman
Date: Sat Jul 18 14:16:10 2020
New Revision: 1880026

URL: http://svn.apache.org/viewvc?rev=1880026&view=rev
Log:
PDFBOX-4895: add test for numbers too big for a long but small enough to fit into a float

Modified:
    pdfbox/branches/issue45/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSFloat.java

Modified: pdfbox/branches/issue45/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSFloat.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/issue45/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSFloat.java?rev=1880026&r1=1880025&r2=1880026&view=diff
==============================================================================
--- pdfbox/branches/issue45/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSFloat.java (original)
+++ pdfbox/branches/issue45/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSFloat.java Sat Jul 18 14:16:10 2020
@@ -307,6 +307,18 @@ public class TestCOSFloat extends TestCO
         assertEquals(-16.33f, cosFloat.floatValue());
     }
 
+    /**
+     * PDFBOX-4895: large number, too big for a long but small enough to fit into a float.
+     * 
+     * @throws IOException 
+     */
+    public void testLargeNumber() throws IOException
+    {
+        COSNumber cosNumber = COSFloat.get("18446744073307448448");
+        assertTrue(cosNumber instanceof COSFloat);
+        assertEquals(1.8446744E19f, cosNumber.floatValue());
+    }
+
     private String floatToString(float value)
     {
         // use a BigDecimal as intermediate state to avoid