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 2024/10/31 08:16:50 UTC
svn commit: r1921707 - /pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestFDF.java
Author: tilman
Date: Thu Oct 31 08:16:50 2024
New Revision: 1921707
URL: http://svn.apache.org/viewvc?rev=1921707&view=rev
Log:
PDFBOX-5894: add test
Modified:
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestFDF.java
Modified: pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestFDF.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestFDF.java?rev=1921707&r1=1921706&r2=1921707&view=diff
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestFDF.java (original)
+++ pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestFDF.java Thu Oct 31 08:16:50 2024
@@ -16,8 +16,6 @@
*/
package org.apache.pdfbox.pdmodel;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
@@ -26,9 +24,15 @@ import java.net.URISyntaxException;
import java.util.List;
import org.apache.pdfbox.Loader;
+import org.apache.pdfbox.cos.COSBase;
+import org.apache.pdfbox.cos.COSDictionary;
+import org.apache.pdfbox.cos.COSName;
+import org.apache.pdfbox.cos.COSObject;
import org.apache.pdfbox.pdmodel.fdf.FDFDocument;
import org.apache.pdfbox.pdmodel.fdf.FDFField;
import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
/**
@@ -54,6 +58,26 @@ class TestFDF
checkFields("/org/apache/pdfbox/pdfparser/nocatalog.fdf");
}
+ /**
+ * PDFBOX-5894: check that premature file close bug is fixed.
+ *
+ * @throws IOException
+ */
+ @Test
+ void testPDFBox5894() throws IOException
+ {
+ try (FDFDocument fdf = Loader.loadFDF(new File("target/pdfs/PDFBOX-5894.fdf")))
+ {
+ List<COSObject> objectsByType = fdf.getDocument().getObjectsByType(COSName.ANNOT);
+ assertEquals(4, objectsByType.size());
+ for (COSObject obj : objectsByType)
+ {
+ COSBase base = obj.getObject();
+ assertEquals(COSName.ANNOT, ((COSDictionary) base).getDictionaryObject(COSName.TYPE));
+ }
+ }
+ }
+
private void checkFields(String name) throws IOException, URISyntaxException
{
try (FDFDocument fdf = Loader.loadFDF(new File(TestFDF.class.getResource(name).toURI())))