Skip to content

Commit 4555422

Browse files
author
Eugene Bochilo
committed
Allow dot in form fields created with builders
DEVSIX-8825
1 parent 06babfa commit 4555422

File tree

7 files changed

+58
-4
lines changed

7 files changed

+58
-4
lines changed

forms/src/main/java/com/itextpdf/forms/fields/PdfFormAnnotation.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -816,7 +816,7 @@ protected void drawListFormFieldAndSaveAppearance() {
816816
boolean multiselect = parent.getFieldFlag(PdfChoiceFormField.FF_MULTI_SELECT);
817817
if (!(formFieldElement instanceof ListBoxField)) {
818818
// Create it once and reset properties during each widget regeneration.
819-
formFieldElement = new ListBoxField(parent.getPartialFieldName().toUnicodeString(), 0, multiselect);
819+
formFieldElement = new ListBoxField("", 0, multiselect);
820820
}
821821
formFieldElement.setProperty(FormProperty.FORM_FIELD_MULTIPLE, multiselect);
822822
((ListBoxField) formFieldElement).setTopIndex(parent instanceof PdfChoiceFormField &&
@@ -974,7 +974,7 @@ protected void drawComboBoxAndSaveAppearance() {
974974
return;
975975
}
976976
if (!(formFieldElement instanceof ComboBoxField)) {
977-
formFieldElement = new ComboBoxField(parent.getPartialFieldName().toUnicodeString());
977+
formFieldElement = new ComboBoxField("");
978978
}
979979

980980
//Apply rotation
@@ -1177,7 +1177,7 @@ private boolean fontRequiredForRegeneration() {
11771177
void createInputButton() {
11781178
if (!(formFieldElement instanceof Button)) {
11791179
// Create it one time and re-set properties during each widget regeneration.
1180-
formFieldElement = new Button(parent.getPartialFieldName().toUnicodeString());
1180+
formFieldElement = new Button("");
11811181
}
11821182

11831183
((Button) formFieldElement).setFont(getFont());
@@ -1189,7 +1189,7 @@ void createInputButton() {
11891189
void createSigField() {
11901190
if (!(formFieldElement instanceof SignatureFieldAppearance)) {
11911191
// Create it one time and re-set properties during each widget regeneration.
1192-
formFieldElement = new SignatureFieldAppearance(parent.getPartialFieldName().toUnicodeString());
1192+
formFieldElement = new SignatureFieldAppearance("");
11931193
}
11941194
if (formFieldElement.<Object>getProperty(Property.FONT) == null) {
11951195
((SignatureFieldAppearance) formFieldElement).setFont(getFont());

forms/src/test/java/com/itextpdf/forms/fields/CheckBoxFormFieldBuilderTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ This file is part of the iText (R) project.
3434
import com.itextpdf.kernel.pdf.PdfWriter;
3535
import com.itextpdf.kernel.pdf.annot.PdfWidgetAnnotation;
3636
import com.itextpdf.kernel.utils.CompareTool;
37+
import com.itextpdf.test.AssertUtil;
3738
import com.itextpdf.test.ExtendedITextTest;
3839

3940
import java.io.ByteArrayOutputStream;
@@ -72,6 +73,12 @@ public void createCheckBoxWithWidgetTest() {
7273
compareCheckBoxes(checkBoxFormField, true);
7374
}
7475

76+
@Test
77+
public void createCheckBoxWithIncorrectNameTest() {
78+
AssertUtil.doesNotThrow(() -> new CheckBoxFormFieldBuilder(DUMMY_DOCUMENT, "incorrect.name")
79+
.setWidgetRectangle(DUMMY_RECTANGLE).createCheckBox());
80+
}
81+
7582
@Test
7683
public void createCheckBoxWithoutWidgetTest() {
7784
PdfButtonFormField checkBoxFormField =

forms/src/test/java/com/itextpdf/forms/fields/ChoiceFormFieldBuilderTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ This file is part of the iText (R) project.
3636
import com.itextpdf.kernel.pdf.PdfWriter;
3737
import com.itextpdf.kernel.pdf.annot.PdfWidgetAnnotation;
3838
import com.itextpdf.kernel.utils.CompareTool;
39+
import com.itextpdf.test.AssertUtil;
3940
import com.itextpdf.test.ExtendedITextTest;
4041

4142
import java.io.ByteArrayOutputStream;
@@ -125,6 +126,12 @@ public void createComboBoxWithoutWidgetTest() {
125126
compareChoices(new PdfDictionary(), choiceFormField, false);
126127
}
127128

129+
@Test
130+
public void createComboBoxWithIncorrectNameTest() {
131+
AssertUtil.doesNotThrow(() -> new ChoiceFormFieldBuilder(DUMMY_DOCUMENT, "incorrect.name")
132+
.setWidgetRectangle(DUMMY_RECTANGLE).createComboBox());
133+
}
134+
128135
@Test
129136
public void createComboBoxWithConformanceLevelTest() {
130137
PdfChoiceFormField choiceFormField = new ChoiceFormFieldBuilder(DUMMY_DOCUMENT, DUMMY_NAME)
@@ -174,6 +181,12 @@ public void createListWithoutWidgetTest() {
174181
compareChoices(expectedDictionary, choiceFormField, false);
175182
}
176183

184+
@Test
185+
public void createListWithIncorrectNameTest() {
186+
AssertUtil.doesNotThrow(() -> new ChoiceFormFieldBuilder(DUMMY_DOCUMENT, "incorrect.name")
187+
.setWidgetRectangle(DUMMY_RECTANGLE).createList());
188+
}
189+
177190
@Test
178191
public void createListWithConformanceLevelTest() {
179192
PdfChoiceFormField choiceFormField = new ChoiceFormFieldBuilder(DUMMY_DOCUMENT, DUMMY_NAME)

forms/src/test/java/com/itextpdf/forms/fields/PushButtonFormFieldBuilderTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ This file is part of the iText (R) project.
3434
import com.itextpdf.kernel.pdf.PdfWriter;
3535
import com.itextpdf.kernel.pdf.annot.PdfWidgetAnnotation;
3636
import com.itextpdf.kernel.utils.CompareTool;
37+
import com.itextpdf.test.AssertUtil;
3738
import com.itextpdf.test.ExtendedITextTest;
3839

3940
import java.io.ByteArrayOutputStream;
@@ -81,6 +82,12 @@ public void createPushButtonWithoutWidgetTest() {
8182
comparePushButtons(pushButtonFormField, false);
8283
}
8384

85+
@Test
86+
public void createPushButtonWithIncorrectNameTest() {
87+
AssertUtil.doesNotThrow(() -> new PushButtonFormFieldBuilder(DUMMY_DOCUMENT, "incorrect.name")
88+
.setWidgetRectangle(DUMMY_RECTANGLE).createPushButton());
89+
}
90+
8491
@Test
8592
public void createPushButtonWithConformanceLevelTest() {
8693
PdfButtonFormField pushButtonFormField = new PushButtonFormFieldBuilder(DUMMY_DOCUMENT, DUMMY_NAME)

forms/src/test/java/com/itextpdf/forms/fields/RadioFormFieldBuilderTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ This file is part of the iText (R) project.
3737
import com.itextpdf.kernel.pdf.annot.PdfAnnotation;
3838
import com.itextpdf.kernel.pdf.annot.PdfWidgetAnnotation;
3939
import com.itextpdf.kernel.utils.CompareTool;
40+
import com.itextpdf.test.AssertUtil;
4041
import com.itextpdf.test.ExtendedITextTest;
4142

4243
import java.io.ByteArrayOutputStream;
@@ -79,6 +80,12 @@ public void createRadioButtonWithWidgetTest() {
7980
compareRadioButtons(radioAnnotation, radioGroup, false);
8081
}
8182

83+
@Test
84+
public void createRadioButtonWithIncorrectNameTest() {
85+
AssertUtil.doesNotThrow(() -> new RadioFormFieldBuilder(DUMMY_DOCUMENT, "incorrect.name")
86+
.setWidgetRectangle(DUMMY_RECTANGLE).createRadioGroup());
87+
}
88+
8289
@Test
8390
public void createRadioButtonWithWidgetUseSetWidgetRectangleTest() {
8491
RadioFormFieldBuilder builder = new RadioFormFieldBuilder(DUMMY_DOCUMENT, DUMMY_NAME);

forms/src/test/java/com/itextpdf/forms/fields/SignatureFormFieldBuilderTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ This file is part of the iText (R) project.
3333
import com.itextpdf.kernel.pdf.PdfWriter;
3434
import com.itextpdf.kernel.pdf.annot.PdfWidgetAnnotation;
3535
import com.itextpdf.kernel.utils.CompareTool;
36+
import com.itextpdf.test.AssertUtil;
3637
import com.itextpdf.test.ExtendedITextTest;
3738

3839
import java.io.ByteArrayOutputStream;
@@ -72,6 +73,12 @@ public void createSignatureWithoutWidgetTest() {
7273
compareSignatures(signatureFormField, false);
7374
}
7475

76+
@Test
77+
public void createSignatureWithIncorrectNameTest() {
78+
AssertUtil.doesNotThrow(() -> new SignatureFormFieldBuilder(DUMMY_DOCUMENT, "incorrect.name")
79+
.setWidgetRectangle(DUMMY_RECTANGLE).createSignature());
80+
}
81+
7582
@Test
7683
public void createSignatureWithConformanceLevelTest() {
7784
PdfSignatureFormField signatureFormField = new SignatureFormFieldBuilder(DUMMY_DOCUMENT, DUMMY_NAME)

forms/src/test/java/com/itextpdf/forms/fields/TextFormFieldBuilderTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ This file is part of the iText (R) project.
3434
import com.itextpdf.kernel.pdf.PdfWriter;
3535
import com.itextpdf.kernel.pdf.annot.PdfWidgetAnnotation;
3636
import com.itextpdf.kernel.utils.CompareTool;
37+
import com.itextpdf.test.AssertUtil;
3738
import com.itextpdf.test.ExtendedITextTest;
3839

3940
import java.io.ByteArrayOutputStream;
@@ -77,6 +78,12 @@ public void createTextWithoutWidgetTest() {
7778
compareTexts(expectedDictionary, textFormField, false);
7879
}
7980

81+
@Test
82+
public void createTextWithIncorrectNameTest() {
83+
AssertUtil.doesNotThrow(() -> new TextFormFieldBuilder(DUMMY_DOCUMENT, "incorrect.name")
84+
.setWidgetRectangle(DUMMY_RECTANGLE).createText());
85+
}
86+
8087
@Test
8188
public void createTextWithConformanceLevelTest() {
8289
PdfTextFormField textFormField = new TextFormFieldBuilder(DUMMY_DOCUMENT, DUMMY_NAME)
@@ -109,6 +116,12 @@ public void createMultilineTextWithoutWidgetTest() {
109116
compareTexts(expectedDictionary, textFormField, false);
110117
}
111118

119+
@Test
120+
public void createMultilineTextWithIncorrectNameTest() {
121+
AssertUtil.doesNotThrow(() -> new TextFormFieldBuilder(DUMMY_DOCUMENT, "incorrect.name")
122+
.setWidgetRectangle(DUMMY_RECTANGLE).createMultilineText());
123+
}
124+
112125
@Test
113126
public void createMultilineTextWithConformanceLevelTest() {
114127
PdfTextFormField textFormField = new TextFormFieldBuilder(DUMMY_DOCUMENT, DUMMY_NAME)

0 commit comments

Comments
 (0)