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:51 UTC
svn commit: r1832640 -
/pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java
Author: tilman
Date: Thu May 31 18:25:51 2018
New Revision: 1832640
URL: http://svn.apache.org/viewvc?rev=1832640&view=rev
Log:
PDFBOX-4235: test to check that IllegalArgumentException is thrown and no NPE
Modified:
pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java
Modified: pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java?rev=1832640&r1=1832639&r2=1832640&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java Thu May 31 18:25:51 2018
@@ -39,6 +39,7 @@ import org.apache.pdfbox.pdmodel.interac
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationWidget;
import org.apache.pdfbox.rendering.TestPDFToImage;
import org.junit.After;
+import static org.junit.Assert.fail;
import org.junit.Before;
import org.junit.Test;
@@ -243,7 +244,54 @@ public class PDAcroFormTest
return;
}
}
-
+
+ /**
+ * PDFBOX-4235: a bad /DA string should not result in an NPE.
+ *
+ * @throws IOException
+ */
+ @Test
+ public void testBadDA() throws IOException
+ {
+ 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;
+ }
+ finally
+ {
+ doc.close();
+ }
+ fail("IllegalArgumentException should have been thrown");
+ }
+
@After
public void tearDown() throws IOException
{