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");
+ }
}