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 2024/05/26 10:31:41 UTC
svn commit: r1917970 - in /pdfbox/branches/3.0/pdfbox/src: main/java/org/apache/pdfbox/cos/COSFloat.java test/java/org/apache/pdfbox/cos/TestCOSFloat.java
Author: tilman
Date: Sun May 26 10:31:41 2024
New Revision: 1917970
URL: http://svn.apache.org/viewvc?rev=1917970&view=rev
Log:
PDFBOX-5829: suuport floats like '-12.-1'
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSFloat.java
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java?rev=1917970&r1=1917969&r2=1917970&view=diff
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java (original)
+++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java Sun May 26 10:31:41 2024
@@ -88,6 +88,11 @@ public class COSFloat extends COSNumber
// PDFBOX-3500 has 0.-262
aFloat = "-" + aFloat.replaceFirst("-", "");
}
+ else if (aFloat.matches("^-\\d+\\.-\\d+"))
+ {
+ // PDFBOX-5829 has -12.-1
+ aFloat = "-" + aFloat.replace("-", "");
+ }
else
{
throw new IOException("Error expected floating point number actual='" + aFloat + "'", e);
Modified: pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSFloat.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSFloat.java?rev=1917970&r1=1917969&r2=1917970&view=diff
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSFloat.java (original)
+++ pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSFloat.java Sun May 26 10:31:41 2024
@@ -384,13 +384,18 @@ class TestCOSFloat extends TestCOSNumber
cosFloat = new COSFloat("0.-262");
assertEquals(new COSFloat("-0.262"), cosFloat);
+
+ cosFloat = new COSFloat("-0.-262");
+ assertEquals(new COSFloat("-0.262"), cosFloat);
+
+ cosFloat = new COSFloat("-12.-1");
+ assertEquals(new COSFloat("-12.1"), cosFloat);
}
@Test
void testDuplicateMisplacedNegative()
{
assertThrows(IOException.class, () -> new COSFloat("0.-26-2"));
- assertThrows(IOException.class, () -> new COSFloat("-0.-262"));
assertThrows(IOException.class, () -> new COSFloat("---0.262"));
assertThrows(IOException.class, () -> new COSFloat("--0.2-62"));
}