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 2026/02/17 20:00:15 UTC
svn commit: r1931914 - pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common
Author: tilman
Date: Tue Feb 17 20:00:14 2026
New Revision: 1931914
Log:
PDFBOX-5660: close input, as suggested by Valery Bokov; closes #422
Modified:
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/TestEmbeddedFiles.java
Modified: pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/TestEmbeddedFiles.java
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/TestEmbeddedFiles.java Tue Feb 17 20:00:08 2026 (r1931913)
+++ pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/TestEmbeddedFiles.java Tue Feb 17 20:00:14 2026 (r1931914)
@@ -44,12 +44,10 @@ class TestEmbeddedFiles
{
PDEmbeddedFile embeddedFile = null;
boolean ok = false;
- try
+ try (PDDocument doc = Loader
+ .loadPDF(RandomAccessReadBuffer.createBufferFromStream(TestEmbeddedFiles.class
+ .getResourceAsStream("null_PDComplexFileSpecification.pdf"))))
{
- PDDocument doc = Loader
- .loadPDF(RandomAccessReadBuffer.createBufferFromStream(TestEmbeddedFiles.class
- .getResourceAsStream("null_PDComplexFileSpecification.pdf")));
-
PDDocumentCatalog catalog = doc.getDocumentCatalog();
PDDocumentNameDictionary names = catalog.getNames();
assertEquals(2, names.getEmbeddedFiles().getNames().size(), "expected two files");
@@ -87,34 +85,34 @@ class TestEmbeddedFiles
PDEmbeddedFile dosFile = null;
PDEmbeddedFile unixFile = null;
- PDDocument doc = Loader.loadPDF(RandomAccessReadBuffer.createBufferFromStream(
- TestEmbeddedFiles.class.getResourceAsStream("testPDF_multiFormatEmbFiles.pdf")));
-
- PDDocumentCatalog catalog = doc.getDocumentCatalog();
- PDDocumentNameDictionary names = catalog.getNames();
- PDEmbeddedFilesNameTreeNode treeNode = names.getEmbeddedFiles();
- List<PDNameTreeNode<PDComplexFileSpecification>> kids = treeNode.getKids();
- for (PDNameTreeNode<PDComplexFileSpecification> kid : kids)
+ try (PDDocument doc = Loader.loadPDF(RandomAccessReadBuffer.createBufferFromStream(
+ TestEmbeddedFiles.class.getResourceAsStream("testPDF_multiFormatEmbFiles.pdf"))))
{
- Map<String, PDComplexFileSpecification> tmpNames = kid.getNames();
- COSObjectable obj = tmpNames.get("My first attachment");
+ PDDocumentCatalog catalog = doc.getDocumentCatalog();
+ PDDocumentNameDictionary names = catalog.getNames();
+ PDEmbeddedFilesNameTreeNode treeNode = names.getEmbeddedFiles();
+ List<PDNameTreeNode<PDComplexFileSpecification>> kids = treeNode.getKids();
+ for (PDNameTreeNode<PDComplexFileSpecification> kid : kids)
+ {
+ Map<String, PDComplexFileSpecification> tmpNames = kid.getNames();
+ COSObjectable obj = tmpNames.get("My first attachment");
+
+ PDComplexFileSpecification spec = (PDComplexFileSpecification) obj;
+ nonOSFile = spec.getEmbeddedFile();
+ macFile = spec.getEmbeddedFileMac();
+ dosFile = spec.getEmbeddedFileDos();
+ unixFile = spec.getEmbeddedFileUnix();
+ }
- PDComplexFileSpecification spec = (PDComplexFileSpecification) obj;
- nonOSFile = spec.getEmbeddedFile();
- macFile = spec.getEmbeddedFileMac();
- dosFile = spec.getEmbeddedFileDos();
- unixFile = spec.getEmbeddedFileUnix();
+ assertTrue(byteArrayContainsLC("non os specific", nonOSFile.toByteArray(), "ISO-8859-1"),
+ "non os specific");
+ assertTrue(byteArrayContainsLC("mac embedded", macFile.toByteArray(), "ISO-8859-1"), "mac");
+
+ assertTrue(byteArrayContainsLC("dos embedded", dosFile.toByteArray(), "ISO-8859-1"), "dos");
+
+ assertTrue(byteArrayContainsLC("unix embedded", unixFile.toByteArray(), "ISO-8859-1"),
+ "unix");
}
-
- assertTrue(byteArrayContainsLC("non os specific", nonOSFile.toByteArray(), "ISO-8859-1"),
- "non os specific");
- assertTrue(byteArrayContainsLC("mac embedded", macFile.toByteArray(), "ISO-8859-1"), "mac");
-
- assertTrue(byteArrayContainsLC("dos embedded", dosFile.toByteArray(), "ISO-8859-1"), "dos");
-
- assertTrue(byteArrayContainsLC("unix embedded", unixFile.toByteArray(), "ISO-8859-1"),
- "unix");
-
}
private boolean byteArrayContainsLC(String target, byte[] bytes, String encoding)