Author: tilman
Date: Wed Nov 19 09:54:53 2025
New Revision: 1929855
Log:
PDFBOX-5660: close input, as suggested by Valery Bokov; closes #343
Modified:
pdfbox/branches/3.0/xmpbox/src/test/java/org/apache/xmpbox/TestXMPWithUndefinedSchemas.java
Modified:
pdfbox/branches/3.0/xmpbox/src/test/java/org/apache/xmpbox/TestXMPWithUndefinedSchemas.java
==============================================================================
---
pdfbox/branches/3.0/xmpbox/src/test/java/org/apache/xmpbox/TestXMPWithUndefinedSchemas.java
Wed Nov 19 08:30:13 2025 (r1929854)
+++
pdfbox/branches/3.0/xmpbox/src/test/java/org/apache/xmpbox/TestXMPWithUndefinedSchemas.java
Wed Nov 19 09:54:53 2025 (r1929855)
@@ -21,16 +21,17 @@
package org.apache.xmpbox;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
-
+import java.io.IOException;
import java.io.InputStream;
import java.util.stream.Stream;
-
+import org.apache.xmpbox.type.BadFieldValueException;
import org.apache.xmpbox.xml.DomXmpParser;
+import org.apache.xmpbox.xml.XmpParsingException;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@@ -46,15 +47,18 @@ class TestXMPWithUndefinedSchemas
@ParameterizedTest
@MethodSource("initializeParameters")
- void main(String path, String namespace, String propertyName, String
propertyValue) throws Exception
+ void main(String path, String namespace, String propertyName, String
propertyValue)
+ throws XmpParsingException, IOException, BadFieldValueException
{
- InputStream is = this.getClass().getResourceAsStream(path);
-
DomXmpParser builder = new DomXmpParser();
builder.setStrictParsing(false);
- XMPMetadata rxmp = builder.parse(is);
+ XMPMetadata rxmp;
+ try (InputStream is = this.getClass().getResourceAsStream(path))
+ {
+ rxmp = builder.parse(is);
+ }
// ensure basic parsing was OK
- assertTrue(rxmp.getAllSchemas().size()>0, "There should be a least one
schema");
+ assertFalse(rxmp.getAllSchemas().isEmpty(), "There should be a least
one schema");
assertNotNull(rxmp.getSchema(namespace), "The schema for {" +
namespace + "} should be available");
assertNotNull(rxmp.getSchema(namespace).getProperty(propertyName),
"The schema for {" + namespace + "} should have a property {" + propertyName +
"} ");
assertEquals(rxmp.getSchema(namespace).getProperty(propertyName).getPropertyName(),
propertyName, "The schema for {" + namespace + "} should have a property {" +
propertyName + "} ");