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/10/19 07:17:27 UTC

svn commit: r1939259 - pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel

Author: tilman
Date: Mon Oct 19 07:17:27 2026
New Revision: 1939259

Log:
PDFBOX-6286: improve test coverage, by copilot

Modified:
   pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestPDPageTree.java

Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestPDPageTree.java
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestPDPageTree.java	Mon Oct 19 07:17:24 2026	(r1939258)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestPDPageTree.java	Mon Oct 19 07:17:27 2026	(r1939259)
@@ -17,6 +17,7 @@
 package org.apache.pdfbox.pdmodel;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertSame;
 import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -24,6 +25,9 @@ import static org.junit.jupiter.api.Asse
 import java.io.IOException;
 
 import org.apache.pdfbox.Loader;
+import org.apache.pdfbox.cos.COSArray;
+import org.apache.pdfbox.cos.COSDictionary;
+import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.io.RandomAccessReadBuffer;
 import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDDocumentOutline;
 import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem;
@@ -166,4 +170,26 @@ class TestPDPageTree
                 TestPDPageTree.class.getResourceAsStream("PDFBOX-6040-nodeloop.pdf")));
         assertNull(doc.getPage(0).getResources());
     }
+
+    /**
+     * Test no argument constructor and an add(). By copilot.
+     */
+    @Test
+    void testNoArgConstructorInitializesEmptyPagesRoot()
+    {
+        PDPageTree pageTree = new PDPageTree();
+        PDPage page = new PDPage();
+
+        pageTree.add(page);
+
+        COSDictionary root = pageTree.getCOSObject();
+        COSArray kids = root.getCOSArray(COSName.KIDS);
+
+        assertNotNull(kids, "Kids array should exist");
+        assertEquals(1, kids.size(), "Kids should contain one page");
+        assertEquals(page.getCOSObject(), kids.getObject(0), "Added page should be first kid");
+        assertEquals(1, root.getInt(COSName.COUNT), "Root count should be incremented to 1");
+        assertEquals(1, pageTree.getCount(), "Page tree count should be 1");
+        assertSame(root, page.getCOSObject().getDictionaryObject(COSName.PARENT), "Page parent should be root");
+    }
 }