Author: tilman
Date: Sun Sep 13 13:16:14 2026
New Revision: 1938173

Log:
PDFBOX-5079: improve test coverage

Modified:
   
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java

Modified: 
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java
 Sun Sep 13 12:45:04 2026        (r1938172)
+++ 
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java
 Sun Sep 13 13:16:14 2026        (r1938173)
@@ -16,6 +16,11 @@
  */
 package org.apache.pdfbox.pdmodel.documentinterchange.logicalstructure;
 
+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.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.File;
 import java.io.IOException;
@@ -36,10 +41,7 @@ import org.apache.pdfbox.pdmodel.documen
 
 import 
org.apache.pdfbox.pdmodel.documentinterchange.taggedpdf.PDLayoutAttributeObject;
 import 
org.apache.pdfbox.pdmodel.documentinterchange.taggedpdf.PDTableAttributeObject;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import org.junit.jupiter.api.Test;
 
 /**
@@ -64,6 +66,22 @@ class PDStructureElementTest
         {
             PDStructureTreeRoot structureTreeRoot = 
doc.getDocumentCatalog().getStructureTreeRoot();
             checkElement(structureTreeRoot.getK(), attributeSet, 
structureTreeRoot.getClassMap(), classSet);
+
+            COSArray k = (COSArray) structureTreeRoot.getK();
+            assertEquals(1, k.size());
+            PDStructureElement documentStructElemen = new 
PDStructureElement((COSDictionary) k.getObject(0));
+            assertEquals("Document", documentStructElemen.getStructureType());
+            List<Object> kids = documentStructElemen.getKids();
+            assertEquals(14, kids.size());
+            PDStructureElement elem = (PDStructureElement) 
documentStructElemen.getKids().get(9);
+            assertNotNull(elem.getPage());
+            assertEquals("Standard", elem.getStructureType());
+            assertEquals("P", elem.getStandardStructureType()); // uses rolemap
+            Revisions<PDAttributeObject> attributes = elem.getAttributes();
+            assertEquals(1, attributes.size());
+            PDLayoutAttributeObject layoutObj = (PDLayoutAttributeObject) 
attributes.getObject(0);
+            assertEquals("Block", layoutObj.getPlacement());
+            assertEquals(24, layoutObj.getSpaceBefore());
         }
 
         // collect attributes and check their count.

Reply via email to