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.