Skip to content

Commit 80d432a

Browse files
Kate IvanovaiText-CI
authored andcommitted
Add integration tests for missing form fields border styles
DEVSIX-4532
1 parent 32e32df commit 80d432a

File tree

7 files changed

+60
-24
lines changed

7 files changed

+60
-24
lines changed

forms/src/test/java/com/itextpdf/forms/widget/AppearanceCharacteristicsTest.java

Lines changed: 60 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -43,43 +43,21 @@ This file is part of the iText (R) project.
4343
package com.itextpdf.forms.widget;
4444

4545
import com.itextpdf.forms.PdfAcroForm;
46-
import com.itextpdf.forms.fields.PdfButtonFormField;
47-
import com.itextpdf.forms.fields.PdfChoiceFormField;
4846
import com.itextpdf.forms.fields.PdfFormField;
4947
import com.itextpdf.forms.fields.PdfTextFormField;
50-
import com.itextpdf.io.LogMessageConstant;
51-
import com.itextpdf.io.font.PdfEncodings;
52-
import com.itextpdf.io.font.constants.StandardFonts;
53-
import com.itextpdf.io.source.ByteArrayOutputStream;
5448
import com.itextpdf.kernel.colors.ColorConstants;
55-
import com.itextpdf.kernel.font.PdfFont;
56-
import com.itextpdf.kernel.font.PdfFontFactory;
5749
import com.itextpdf.kernel.geom.Rectangle;
58-
import com.itextpdf.kernel.pdf.PdfArray;
59-
import com.itextpdf.kernel.pdf.PdfDictionary;
6050
import com.itextpdf.kernel.pdf.PdfDocument;
61-
import com.itextpdf.kernel.pdf.PdfName;
62-
import com.itextpdf.kernel.pdf.PdfNumber;
63-
import com.itextpdf.kernel.pdf.PdfPage;
6451
import com.itextpdf.kernel.pdf.PdfReader;
65-
import com.itextpdf.kernel.pdf.PdfString;
6652
import com.itextpdf.kernel.pdf.PdfWriter;
67-
import com.itextpdf.kernel.pdf.StampingProperties;
68-
import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
53+
import com.itextpdf.kernel.pdf.annot.PdfAnnotation;
6954
import com.itextpdf.kernel.utils.CompareTool;
70-
import com.itextpdf.layout.Canvas;
71-
import com.itextpdf.layout.Document;
72-
import com.itextpdf.layout.element.AreaBreak;
73-
import com.itextpdf.layout.element.Paragraph;
7455
import com.itextpdf.test.ExtendedITextTest;
75-
import com.itextpdf.test.annotations.LogMessage;
76-
import com.itextpdf.test.annotations.LogMessages;
7756
import com.itextpdf.test.annotations.type.IntegrationTest;
7857

79-
import java.io.ByteArrayInputStream;
8058
import java.io.IOException;
81-
import java.util.Map;
8259

60+
import java.util.Map;
8361
import org.junit.Assert;
8462
import org.junit.BeforeClass;
8563
import org.junit.Test;
@@ -114,4 +92,62 @@ public void fillFormWithRotatedFieldAndPageTest() throws IOException, Interrupte
11492
Assert.fail(errorMessage);
11593
}
11694
}
95+
96+
@Test
97+
//TODO: update cmp file after fixing DEVSIX-836
98+
public void borderStyleInCreatedFormFieldsTest() throws IOException, InterruptedException {
99+
String outPdf = destinationFolder + "borderStyleInCreatedFormFields.pdf";
100+
101+
PdfDocument doc = new PdfDocument(new PdfWriter(outPdf));
102+
103+
PdfAcroForm form = PdfAcroForm.getAcroForm(doc, true);
104+
105+
PdfFormField formField1 = PdfTextFormField.createText(doc,
106+
new Rectangle(100, 600, 100, 50), "firstField", "Hello, iText!");
107+
formField1.getWidgets().get(0).setBorderStyle(PdfAnnotation.STYLE_BEVELED);
108+
formField1.setBorderWidth(2).setBorderColor(ColorConstants.BLUE);
109+
110+
PdfFormField formField2 = PdfTextFormField.createText(doc,
111+
new Rectangle(100, 500, 100, 50), "secondField", "Hello, iText!");
112+
formField2.getWidgets().get(0).setBorderStyle(PdfAnnotation.STYLE_UNDERLINE);
113+
formField2.setBorderWidth(2).setBorderColor(ColorConstants.BLUE);
114+
115+
PdfFormField formField3 = PdfTextFormField.createText(doc,
116+
new Rectangle(100, 400, 100, 50), "thirdField", "Hello, iText!");
117+
formField3.getWidgets().get(0).setBorderStyle(PdfAnnotation.STYLE_INSET);
118+
formField3.setBorderWidth(2).setBorderColor(ColorConstants.BLUE);
119+
120+
form.addField(formField1);
121+
form.addField(formField2);
122+
form.addField(formField3);
123+
form.flattenFields();
124+
125+
doc.close();
126+
127+
Assert.assertNull(new CompareTool().compareByContent(outPdf,
128+
sourceFolder + "cmp_borderStyleInCreatedFormFields.pdf", destinationFolder));
129+
}
130+
131+
@Test
132+
//TODO: update cmp file after fixing DEVSIX-836
133+
public void updatingBorderStyleInFormFieldsTest() throws IOException, InterruptedException {
134+
String inputPdf = sourceFolder + "borderStyleInCreatedFormFields.pdf";
135+
String outPdf = destinationFolder + "updatingBorderStyleInFormFields.pdf";
136+
137+
PdfDocument doc = new PdfDocument(new PdfReader(inputPdf), new PdfWriter(outPdf));
138+
139+
PdfAcroForm form = PdfAcroForm.getAcroForm(doc, false);
140+
141+
Map<String, PdfFormField> fields = form.getFormFields();
142+
fields.get("firstField").setValue("New Value 1");
143+
fields.get("secondField").setValue("New Value 2");
144+
fields.get("thirdField").setValue("New Value 3");
145+
146+
form.flattenFields();
147+
148+
doc.close();
149+
150+
Assert.assertNull(new CompareTool().compareByContent(outPdf,
151+
sourceFolder + "cmp_updatingBorderStyleInFormFields.pdf", destinationFolder));
152+
}
117153
}

0 commit comments

Comments
 (0)