Skip to content

Commit 769b24b

Browse files
committed
PDFBOX-5660: improve test coverage
git-svn-id: https://svn.apache.org/repos/asf/pdfbox/trunk@1927908 13f79535-47bb-0310-9956-ffa450edef68
1 parent 1f0f904 commit 769b24b

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@
1818

1919
import static org.junit.jupiter.api.Assertions.assertEquals;
2020
import static org.junit.jupiter.api.Assertions.assertNull;
21+
import static org.junit.jupiter.api.Assertions.assertThrows;
2122
import static org.junit.jupiter.api.Assertions.assertTrue;
2223

2324
import java.io.File;
2425
import java.io.IOException;
2526
import java.util.HashSet;
27+
import java.util.List;
2628
import java.util.Map;
2729
import java.util.Set;
2830

@@ -34,6 +36,8 @@
3436
import org.apache.pdfbox.cos.COSObject;
3537
import org.apache.pdfbox.io.RandomAccessReadBuffer;
3638
import org.apache.pdfbox.pdmodel.PDDocument;
39+
import org.apache.pdfbox.pdmodel.documentinterchange.markedcontent.PDMarkedContent;
40+
3741
import org.junit.jupiter.api.Test;
3842

3943
/**
@@ -152,6 +156,7 @@ void testSimple()
152156
assertEquals(33, structureElement.getRevisionNumber());
153157
structureElement.incrementRevisionNumber();
154158
assertEquals(34, structureElement.getRevisionNumber());
159+
assertThrows(IllegalArgumentException.class, () -> structureElement.setRevisionNumber(-1));
155160
structureElement.setTitle("Title");
156161
assertEquals("Title", structureElement.getTitle());
157162
structureElement.setLanguage("Klingon");
@@ -162,5 +167,25 @@ void testSimple()
162167
assertEquals("Actual", structureElement.getActualText());
163168
structureElement.setExpandedForm("ExpF");
164169
assertEquals("ExpF", structureElement.getExpandedForm());
170+
assertThrows(IllegalArgumentException.class, () -> structureElement.appendKid(-1));
171+
structureElement.appendKid(0);
172+
PDMarkedContentReference mcr1 = new PDMarkedContentReference();
173+
mcr1.setMCID(1);
174+
structureElement.appendKid(mcr1);
175+
PDMarkedContentReference mcr2 = new PDMarkedContentReference();
176+
mcr2.setMCID(2);
177+
PDMarkedContent mc2 = PDMarkedContent.create(COSName.S, mcr2.getCOSObject());
178+
structureElement.appendKid(mc2);
179+
PDMarkedContentReference mcrSubZero = new PDMarkedContentReference();
180+
mcrSubZero.setMCID(-1); //TODO should fail
181+
PDMarkedContent mcSubZero = PDMarkedContent.create(COSName.S, mcrSubZero.getCOSObject());
182+
assertThrows(IllegalArgumentException.class, () -> structureElement.appendKid(mcSubZero));
183+
List<Object> kids = structureElement.getKids();
184+
assertEquals(3, kids.size());
185+
assertEquals(0, kids.get(0));
186+
mcr1 = (PDMarkedContentReference) kids.get(1);
187+
assertEquals(PDMarkedContentReference.TYPE, mcr1.getCOSObject().getNameAsString(COSName.TYPE));
188+
assertEquals(1, mcr1.getMCID());
189+
assertEquals(2, kids.get(2));
165190
}
166191
}

0 commit comments

Comments
 (0)