Author: tilman
Date: Sun Sep 14 08:25:11 2025
New Revision: 1928457

Log:
PDFBOX-5660: increase 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 14 06:45:02 2025        (r1928456)
+++ 
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java
 Sun Sep 14 08:25:11 2025        (r1928457)
@@ -34,6 +34,8 @@ import org.apache.pdfbox.io.RandomAccess
 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 static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -89,6 +91,30 @@ class PDStructureElementTest
             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
+                System.out.println(r);
+                System.out.println(r.getObject(0).getClass());
+                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());
         int cnt = attributeSet.stream().map(Revisions::size).reduce(0, 
Integer::sum);
@@ -141,7 +167,6 @@ class PDStructureElementTest
         }
     }    
 
-    
     @Test
     void testSimple()
     {

Reply via email to