Author: tilman
Date: Sun Sep 14 08:25:20 2025
New Revision: 1928459
Log:
PDFBOX-5660: increase test coverage
Modified:
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java
Modified:
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java
==============================================================================
---
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java
Sun Sep 14 08:25:15 2025 (r1928458)
+++
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java
Sun Sep 14 08:25:20 2025 (r1928459)
@@ -37,6 +37,8 @@ import org.apache.pdfbox.cos.COSObject;
import org.apache.pdfbox.io.RandomAccessReadBuffer;
import org.apache.pdfbox.pdmodel.PDDocument;
import
org.apache.pdfbox.pdmodel.documentinterchange.markedcontent.PDMarkedContent;
+import
org.apache.pdfbox.pdmodel.documentinterchange.taggedpdf.PDLayoutAttributeObject;
+import
org.apache.pdfbox.pdmodel.documentinterchange.taggedpdf.PDTableAttributeObject;
import org.junit.jupiter.api.Test;
@@ -88,6 +90,27 @@ class PDStructureElementTest
PDStructureTreeRoot structureTreeRoot =
doc.getDocumentCatalog().getStructureTreeRoot();
checkElement(structureTreeRoot.getK(), attributeSet,
structureTreeRoot.getClassMap(), classSet);
}
+ for (Revisions<PDAttributeObject> r : attributeSet)
+ {
+ // check a few that we know
+ if (r.size() >= 2)
+ {
+ // e.g. in Root/StructTreeRoot/K/[2]/K/[14]/K/[5]/K/[0]/K/[2]/A
+ // and Root/StructTreeRoot/K/[2]/K/[14]/K/[5]/K/[2]/K/[0]/A
+ // and Root/StructTreeRoot/K/[2]/K/[14]/K/[5]/K/[2]/K/[2]/A
+ PDTableAttributeObject obj0 = (PDTableAttributeObject)
r.getObject(0);
+ assertEquals("Table", obj0.getOwner());
+ assertEquals(2, obj0.getColSpan());
+ PDLayoutAttributeObject obj1 = (PDLayoutAttributeObject)
r.getObject(1);
+ assertEquals("Layout", obj1.getOwner());
+ assertTrue(((Float) obj1.getWidth()) == 166.375f || ((Float)
obj1.getWidth()) == 246.75f);
+ assertTrue(((Float) obj1.getHeight()) == 14f || ((Float)
obj1.getHeight()) == 17f);
+ assertEquals("Start", obj1.getInlineAlign());
+ assertTrue("After".equals(obj1.getBlockAlign()) ||
"Before".equals(obj1.getBlockAlign()));
+ assertEquals(0, r.getRevisionNumber(0));
+ assertEquals(0, r.getRevisionNumber(1));
+ }
+ }
// collect attributes and check their count.
assertEquals(72, attributeSet.size());