Author: tilman Date: Sun Sep 14 08:25:15 2025 New Revision: 1928458 Log: PDFBOX-5660: increase test coverage
Modified: pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java Modified: pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java ============================================================================== --- pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java Sun Sep 14 08:25:11 2025 (r1928457) +++ pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java Sun Sep 14 08:25:15 2025 (r1928458) @@ -29,6 +29,8 @@ import org.apache.pdfbox.cos.COSName; import org.apache.pdfbox.cos.COSObject; 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.Assert.assertEquals; import static org.junit.Assert.assertNull; @@ -86,6 +88,30 @@ public class PDStructureElementTest checkElement(structureTreeRoot.getK(), attributeSet, structureTreeRoot.getClassMap(), classSet); doc.close(); + 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 = 0; @@ -142,7 +168,6 @@ public class PDStructureElementTest } } - @Test public void testSimple() {