TestCOSNumber.java (pdfbox-2.0.23-src) | : | TestCOSNumber.java (pdfbox-2.0.24-src) | ||
---|---|---|---|---|
skipping to change at line 92 | skipping to change at line 92 | |||
assertEquals(COSNumber.get("1"), COSNumber.get("+1")); | assertEquals(COSNumber.get("1"), COSNumber.get("+1")); | |||
assertEquals(COSNumber.get("123"), COSNumber.get("+123")); | assertEquals(COSNumber.get("123"), COSNumber.get("+123")); | |||
} | } | |||
catch (IOException e) | catch (IOException e) | |||
{ | { | |||
fail("Failed to convert a number " + e.getMessage()); | fail("Failed to convert a number " + e.getMessage()); | |||
} | } | |||
} | } | |||
/** | /** | |||
* PDFBOX-4895: large number, too big for a long leads to a null value. | * PDFBOX-5176: large number, too big for a long leads to an COSInteger valu e which is marked as invalid. | |||
* | * | |||
* @throws IOException | * @throws IOException | |||
*/ | */ | |||
public void testLargeNumber() throws IOException | public void testLargeNumber() throws IOException | |||
{ | { | |||
assertNull(COSNumber.get("18446744073307448448")); | // max value | |||
assertNull(COSNumber.get("-18446744073307448448")); | COSNumber cosNumber = COSNumber.get(Long.toString(Long.MAX_VALUE)); | |||
assertTrue(cosNumber instanceof COSInteger); | ||||
COSInteger cosInteger = (COSInteger) cosNumber; | ||||
assertTrue(cosInteger.isValid()); | ||||
// min value | ||||
cosNumber = COSNumber.get(Long.toString(Long.MIN_VALUE)); | ||||
assertTrue(cosNumber instanceof COSInteger); | ||||
cosInteger = (COSInteger) cosNumber; | ||||
assertTrue(cosInteger.isValid()); | ||||
// out of range, max value | ||||
cosNumber = COSNumber.get("18446744073307448448"); | ||||
assertTrue(cosNumber instanceof COSInteger); | ||||
cosInteger = (COSInteger) cosNumber; | ||||
assertFalse(cosInteger.isValid()); | ||||
// out of range, min value | ||||
cosNumber = COSNumber.get("-18446744073307448448"); | ||||
assertTrue(cosNumber instanceof COSInteger); | ||||
cosInteger = (COSInteger) cosNumber; | ||||
assertFalse(cosInteger.isValid()); | ||||
} | } | |||
public void testInvalidNumber() | public void testInvalidNumber() | |||
{ | { | |||
try | try | |||
{ | { | |||
COSNumber.get("18446744073307F448448"); | COSNumber.get("18446744073307F448448"); | |||
fail("Was expecting an IOException"); | fail("Was expecting an IOException"); | |||
} | } | |||
catch (IOException e) | catch (IOException e) | |||
End of changes. 2 change blocks. | ||||
3 lines changed or deleted | 22 lines changed or added |