Author: tilman
Date: Sun Aug 10 11:29:15 2025
New Revision: 1927731

Log:
PDFBOX-5660: sonar fix

Modified:
   
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFCloneUtilityTest.java

Modified: 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFCloneUtilityTest.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFCloneUtilityTest.java
       Sun Aug 10 11:29:11 2025        (r1927730)
+++ 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFCloneUtilityTest.java
       Sun Aug 10 11:29:15 2025        (r1927731)
@@ -22,6 +22,7 @@ import java.awt.Color;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
+import java.util.Iterator;
 
 import org.apache.pdfbox.pdmodel.PDDocument;
 import org.apache.pdfbox.Loader;
@@ -31,7 +32,10 @@ import org.apache.pdfbox.cos.COSObject;
 import org.apache.pdfbox.pdmodel.PDPage;
 import org.apache.pdfbox.pdmodel.PDPageContentStream;
 import org.apache.pdfbox.pdmodel.PDPageContentStream.AppendMode;
+import org.apache.pdfbox.pdmodel.common.PDStream;
 import 
org.apache.pdfbox.pdmodel.graphics.optionalcontent.PDOptionalContentProperties;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 import org.junit.jupiter.api.Test;
 
 /**
@@ -53,12 +57,16 @@ class PDFCloneUtilityTest
         try (PDDocument srcDoc = new PDDocument();
              PDDocument dstDoc = new PDDocument())
         {
-
             PDPage pdPage = new PDPage();
             srcDoc.addPage(pdPage);
             new PDPageContentStream(srcDoc, pdPage, AppendMode.APPEND, 
true).close();
             new PDPageContentStream(srcDoc, pdPage, AppendMode.APPEND, 
true).close();
-            new 
PDFCloneUtility(dstDoc).cloneForNewDocument(pdPage.getCOSObject());
+            COSDictionary clonedPageDictionary = new 
PDFCloneUtility(dstDoc).cloneForNewDocument(pdPage.getCOSObject());
+            PDPage clonedPage = new PDPage(clonedPageDictionary);
+            Iterator<PDStream> contentStreams = clonedPage.getContentStreams();
+            assertNotNull(contentStreams.next());
+            assertNotNull(contentStreams.next());
+            assertFalse(contentStreams.hasNext());
         }
     }
 
@@ -100,18 +108,31 @@ class PDFCloneUtilityTest
 
         srcDoc.save(TESTDIR + CLONESRC);
         PDFMergerUtility merger = new PDFMergerUtility();
-        PDDocument dstDoc = new PDDocument();
-
-        // this calls PDFCloneUtility.cloneForNewDocument(), 
-        // which would fail before the fix in PDFBOX-2052
-        merger.appendDocument(dstDoc, srcDoc);
-
-        // save and reload PDF, so that one can see that the files are legit
-        dstDoc.save(TESTDIR + CLONEDST);
-        Loader.loadPDF(new File(TESTDIR + CLONESRC)).close();
-        Loader.loadPDF(new File(TESTDIR + CLONESRC), (String) null).close();
-        Loader.loadPDF(new File(TESTDIR + CLONEDST)).close();
-        Loader.loadPDF(new File(TESTDIR + CLONEDST), (String) null).close();
+        try (PDDocument dstDoc = new PDDocument())
+        {
+            // this calls PDFCloneUtility.cloneForNewDocument(),
+            // which would fail before the fix in PDFBOX-2052
+            merger.appendDocument(dstDoc, srcDoc);
+            
+            // save and reload PDF, so that one can see that the files are 
legit
+            dstDoc.save(TESTDIR + CLONEDST);
+        }
+        try (PDDocument doc = Loader.loadPDF(new File(TESTDIR + CLONESRC)))
+        {
+            assertEquals(1, doc.getNumberOfPages());
+        }
+        try (PDDocument doc = Loader.loadPDF(new File(TESTDIR + CLONESRC), 
(String) null))
+        {
+            assertEquals(1, doc.getNumberOfPages());
+        }
+        try (PDDocument doc = Loader.loadPDF(new File(TESTDIR + CLONEDST)))
+        {
+            assertEquals(1, doc.getNumberOfPages());
+        }
+        try (PDDocument doc = Loader.loadPDF(new File(TESTDIR + CLONEDST), 
(String) null))
+        {
+            assertEquals(1, doc.getNumberOfPages());
+        }
     }
 
     /**

Reply via email to