You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2018/05/31 18:25:56 UTC
svn commit: r1832641 -
/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java
Author: tilman
Date: Thu May 31 18:25:56 2018
New Revision: 1832641
URL: http://svn.apache.org/viewvc?rev=1832641&view=rev
Log:
PDFBOX-4235: test to check that IllegalArgumentException is thrown and no NPE
Modified:
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java
Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java?rev=1832641&r1=1832640&r2=1832641&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java Thu May 31 18:25:56 2018
@@ -20,6 +20,7 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -245,8 +246,51 @@ public class PDAcroFormTest
return;
}
}
-
-
+
+ /**
+ * PDFBOX-4235: a bad /DA string should not result in an NPE.
+ *
+ * @throws IOException
+ */
+ @Test
+ public void testBadDA() throws IOException
+ {
+ try (PDDocument doc = new PDDocument())
+ {
+ PDPage page = new PDPage();
+ doc.addPage(page);
+
+ PDAcroForm acroForm = new PDAcroForm(document);
+ doc.getDocumentCatalog().setAcroForm(acroForm);
+ acroForm.setDefaultResources(new PDResources());
+
+ PDTextField textBox = new PDTextField(acroForm);
+ textBox.setPartialName("SampleField");
+
+ // https://stackoverflow.com/questions/50609478/
+ // "tf" is a typo, should have been "Tf" and this results that no font is chosen
+ textBox.setDefaultAppearance("/Helv 0 tf 0 g");
+ acroForm.getFields().add(textBox);
+
+ PDAnnotationWidget widget = textBox.getWidgets().get(0);
+ PDRectangle rect = new PDRectangle(50, 750, 200, 20);
+ widget.setRectangle(rect);
+ widget.setPage(page);
+
+ page.getAnnotations().add(widget);
+
+ try
+ {
+ textBox.setValue("huhu");
+ }
+ catch (IllegalArgumentException ex)
+ {
+ return;
+ }
+ fail("IllegalArgumentException should have been thrown");
+ }
+ }
+
@After
public void tearDown() throws IOException
{