You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ms...@apache.org on 2020/03/08 15:58:25 UTC
svn commit: r1874976 - in /pdfbox/trunk/pdfbox/src:
main/java/org/apache/pdfbox/pdmodel/PDPageTree.java
test/java/org/apache/pdfbox/pdmodel/TestPDPageTree.java
Author: msahyoun
Date: Sun Mar 8 15:58:25 2020
New Revision: 1874976
URL: http://svn.apache.org/viewvc?rev=1874976&view=rev
Log:
PDFBOX-4723: use == instead of equals to check for equality; add unit tests as suggested by Christian Appl
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageTree.java
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestPDPageTree.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageTree.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageTree.java?rev=1874976&r1=1874975&r2=1874976&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageTree.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageTree.java Sun Mar 8 15:58:25 2020
@@ -483,7 +483,7 @@ public class PDPageTree implements COSOb
for (int i = 0; i < kids.size(); ++i)
{
COSDictionary pageDict = (COSDictionary) kids.getObject(i);
- if (pageDict.equals(nextPage.getCOSObject()))
+ if (pageDict == nextPage.getCOSObject())
{
kids.add(i, newPage.getCOSObject());
newPage.getCOSObject().setItem(COSName.PARENT, parentDict);
@@ -515,7 +515,7 @@ public class PDPageTree implements COSOb
for (int i = 0; i < kids.size(); ++i)
{
COSDictionary pageDict = (COSDictionary) kids.getObject(i);
- if (pageDict.equals(prevPage.getCOSObject()))
+ if (pageDict == prevPage.getCOSObject())
{
kids.add(i + 1, newPage.getCOSObject());
newPage.getCOSObject().setItem(COSName.PARENT, parentDict);
Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestPDPageTree.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestPDPageTree.java?rev=1874976&r1=1874975&r2=1874976&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestPDPageTree.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestPDPageTree.java Sun Mar 8 15:58:25 2020
@@ -21,7 +21,6 @@ import static org.junit.Assert.assertEqu
import java.io.IOException;
import org.apache.pdfbox.Loader;
-import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDDocumentOutline;
import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem;
@@ -86,4 +85,38 @@ public class TestPDPageTree
doc = Loader.loadPDF(TestPDPageTree.class.getResourceAsStream("with_outline.pdf"));
assertEquals(-1, doc.getPages().indexOf(new PDPage()));
}
+
+ @Test
+ public void testInsertBeforeBlankPage() throws Exception {
+ try (PDDocument document = new PDDocument()) {
+ PDPage pageOne = new PDPage();
+ PDPage pageTwo = new PDPage();
+ PDPage pageThree = new PDPage();
+
+ document.addPage(pageOne);
+ document.addPage(pageTwo);
+ document.getPages().insertBefore(pageThree, pageTwo);
+
+ assertEquals("Page one should be placed at index 0.", 0,(document.getPages().indexOf(pageOne)));
+ assertEquals("Page two should be placed at index 2.", 2,(document.getPages().indexOf(pageTwo)));
+ assertEquals("Page three should be placed at index 1.", 1,(document.getPages().indexOf(pageThree)));
+ }
+ }
+
+ @Test
+ public void testInsertAfterBlankPage() throws Exception {
+ try (PDDocument document = new PDDocument()) {
+ PDPage pageOne = new PDPage();
+ PDPage pageTwo = new PDPage();
+ PDPage pageThree = new PDPage();
+
+ document.addPage(pageOne);
+ document.addPage(pageTwo);
+ document.getPages().insertAfter(pageThree, pageTwo);
+
+ assertEquals("Page one should be placed at index 0.", 0,(document.getPages().indexOf(pageOne)));
+ assertEquals("Page two should be placed at index 1.", 1,(document.getPages().indexOf(pageTwo)));
+ assertEquals("Page three should be placed at index 2.", 2,(document.getPages().indexOf(pageThree)));
+ }
+ }
}