Author: tilman
Date: Fri Dec 12 16:21:07 2025
New Revision: 1930471
Log:
PDFBOX-6119: catch exception, add some bad testcases
Modified:
pdfbox/branches/3.0/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java
pdfbox/branches/3.0/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java
Modified:
pdfbox/branches/3.0/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java
==============================================================================
---
pdfbox/branches/3.0/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java
Fri Dec 12 16:21:02 2025 (r1930470)
+++
pdfbox/branches/3.0/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java
Fri Dec 12 16:21:07 2025 (r1930471)
@@ -93,7 +93,14 @@ public final class DateConverter
if (Pattern.matches("^\\d{4}-\\d{2}-\\d{2}T.*", date))
{
- return fromISO8601(date);
+ try
+ {
+ return fromISO8601(date);
+ }
+ catch (DateTimeParseException ex)
+ {
+ throw new IOException(ex);
+ }
}
if (date.startsWith("D:"))
{
Modified:
pdfbox/branches/3.0/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java
==============================================================================
---
pdfbox/branches/3.0/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java
Fri Dec 12 16:21:02 2025 (r1930470)
+++
pdfbox/branches/3.0/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java
Fri Dec 12 16:21:07 2025 (r1930471)
@@ -89,7 +89,13 @@ class DateConverterTest
convDate =
DateConverter.toCalendar("2025-09-03T15:43:47.989082+00:00");
assertEquals(989, convDate.get(Calendar.MILLISECOND));
+ // test some bad strings
assertThrows(IOException.class, () -> DateConverter.toCalendar("123"));
+ assertThrows(IOException.class, () ->
DateConverter.toCalendar("2008-12-31T19:48:30+19:00"));
+ assertThrows(IOException.class, () ->
DateConverter.toCalendar("2008-12-31T19:48:30-19:00"));
+ assertThrows(IOException.class, () ->
DateConverter.toCalendar("2008-12-02T21:04:0Z"));
+ assertThrows(IOException.class, () ->
DateConverter.toCalendar("0-01-01T00:00:00Z"));
+ assertThrows(IOException.class, () ->
DateConverter.toCalendar("2009-03-16T01:15:19-0-4:00"));
//Test missing seconds
assertEquals(DateConverter.toCalendar("2015-12-08T12:07:00-05:00"),