Skip to content

Commit 72a3166

Browse files
committed
PDFBOX-5660: close input, as suggested by Valery Bokov; closes #415
git-svn-id: https://svn.apache.org/repos/asf/pdfbox/branches/3.0@1931749 13f79535-47bb-0310-9956-ffa450edef68
1 parent 0d600b0 commit 72a3166

1 file changed

Lines changed: 32 additions & 31 deletions

File tree

pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFCloneUtilityTest.java

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -86,38 +86,39 @@ void testClonePDFWithCosArrayStream2() throws IOException
8686

8787
new File(TESTDIR).mkdirs();
8888

89-
PDDocument srcDoc = new PDDocument();
90-
PDPage pdPage = new PDPage();
91-
srcDoc.addPage(pdPage);
92-
try (PDPageContentStream pdPageContentStream1 = new PDPageContentStream(srcDoc, pdPage, AppendMode.APPEND, false))
89+
try (PDDocument srcDoc = new PDDocument())
9390
{
94-
pdPageContentStream1.setNonStrokingColor(Color.black);
95-
pdPageContentStream1.addRect(100, 600, 300, 100);
96-
pdPageContentStream1.fill();
97-
}
98-
try (PDPageContentStream pdPageContentStream2 = new PDPageContentStream(srcDoc, pdPage, AppendMode.APPEND, false))
99-
{
100-
pdPageContentStream2.setNonStrokingColor(Color.red);
101-
pdPageContentStream2.addRect(100, 500, 300, 100);
102-
pdPageContentStream2.fill();
103-
}
104-
try (PDPageContentStream pdPageContentStream3 = new PDPageContentStream(srcDoc, pdPage, AppendMode.APPEND, false))
105-
{
106-
pdPageContentStream3.setNonStrokingColor(Color.yellow);
107-
pdPageContentStream3.addRect(100, 400, 300, 100);
108-
pdPageContentStream3.fill();
109-
}
110-
111-
srcDoc.save(TESTDIR + CLONESRC);
112-
PDFMergerUtility merger = new PDFMergerUtility();
113-
try (PDDocument dstDoc = new PDDocument())
114-
{
115-
// this calls PDFCloneUtility.cloneForNewDocument(),
116-
// which would fail before the fix in PDFBOX-2052
117-
merger.appendDocument(dstDoc, srcDoc);
118-
119-
// save and reload PDF, so that one can see that the files are legit
120-
dstDoc.save(TESTDIR + CLONEDST);
91+
PDPage pdPage = new PDPage();
92+
srcDoc.addPage(pdPage);
93+
try (PDPageContentStream pdPageContentStream1 = new PDPageContentStream(srcDoc, pdPage, AppendMode.APPEND, false))
94+
{
95+
pdPageContentStream1.setNonStrokingColor(Color.black);
96+
pdPageContentStream1.addRect(100, 600, 300, 100);
97+
pdPageContentStream1.fill();
98+
}
99+
try (PDPageContentStream pdPageContentStream2 = new PDPageContentStream(srcDoc, pdPage, AppendMode.APPEND, false))
100+
{
101+
pdPageContentStream2.setNonStrokingColor(Color.red);
102+
pdPageContentStream2.addRect(100, 500, 300, 100);
103+
pdPageContentStream2.fill();
104+
}
105+
try (PDPageContentStream pdPageContentStream3 = new PDPageContentStream(srcDoc, pdPage, AppendMode.APPEND, false))
106+
{
107+
pdPageContentStream3.setNonStrokingColor(Color.yellow);
108+
pdPageContentStream3.addRect(100, 400, 300, 100);
109+
pdPageContentStream3.fill();
110+
}
111+
srcDoc.save(TESTDIR + CLONESRC);
112+
PDFMergerUtility merger = new PDFMergerUtility();
113+
try (PDDocument dstDoc = new PDDocument())
114+
{
115+
// this calls PDFCloneUtility.cloneForNewDocument(),
116+
// which would fail before the fix in PDFBOX-2052
117+
merger.appendDocument(dstDoc, srcDoc);
118+
119+
// save and reload PDF, so that one can see that the files are legit
120+
dstDoc.save(TESTDIR + CLONEDST);
121+
}
121122
}
122123
try (PDDocument doc = Loader.loadPDF(new File(TESTDIR + CLONESRC)))
123124
{

0 commit comments

Comments
 (0)