Add single select box to field.fragment
In turn, now use field.fragment in listbox_methods.in
Change-Id: Ie8f6f244c6b83dfb9e48ca739a654388f6b64ac7
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/52733
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/testing/resources/javascript/field.fragment b/testing/resources/javascript/field.fragment
index f1b0fd9..1dbcb0b 100644
--- a/testing/resources/javascript/field.fragment
+++ b/testing/resources/javascript/field.fragment
@@ -25,6 +25,7 @@
8 0 R
9 0 R
10 0 R
+ 11 0 R
]
>>
endobj
@@ -45,6 +46,7 @@
8 0 R
9 0 R
10 0 R
+ 11 0 R
]
>>
endobj
@@ -98,6 +100,22 @@
/Opt [ (foo) (bar) (qux) ]
/V (qux)
>>
+endobj
+{{object 11 0}} <<
+ /FT /Ch
+ /Ff 0
+ /Parent 5 0 R
+ /T (MySingleSelect)
+ /Type /Annot
+ /Subtype /Widget
+ /Rect [ 300 300 320 320 ]
+ /Opt [
+ [ (foo) (Foo) ]
+ [ (bar) (Bar) ]
+ [ (qux) (Qux) ]
+ ]
+>>
+endobj
% OpenAction action
{{object 15 0}} <<
diff --git a/testing/resources/javascript/field_methods_expected.txt b/testing/resources/javascript/field_methods_expected.txt
index 1183012..f72c99c 100644
--- a/testing/resources/javascript/field_methods_expected.txt
+++ b/testing/resources/javascript/field_methods_expected.txt
@@ -1,11 +1,12 @@
Alert: field is MyField
Alert: button is MyField.MyPushButton
Alert: nonesuch is undefined
-Alert: found 5 sub-fields:
+Alert: found 6 sub-fields:
Alert: MyField.MyCheckBox
Alert: MyField.MyMultiSelect
Alert: MyField.MyPushButton
Alert: MyField.MyRadio
+Alert: MyField.MySingleSelect
Alert: MyField.MyText
Alert: PASS: this.getField('MyField.MyPushButton').buttonGetCaption() =
Alert: PASS: this.getField('MyField.MyPushButton').buttonGetIcon() = [object Object]
diff --git a/testing/resources/javascript/listbox_methods.in b/testing/resources/javascript/listbox_methods.in
index 4b4c3c8..258ebb3 100644
--- a/testing/resources/javascript/listbox_methods.in
+++ b/testing/resources/javascript/listbox_methods.in
@@ -1,65 +1,6 @@
{{header}}
-{{object 1 0}} <<
- /Type /Catalog
- /Pages 2 0 R
- /AcroForm 4 0 R
- /OpenAction 10 0 R
->>
-endobj
-{{object 2 0}} <<
- /Type /Pages
- /Count 1
- /Kids [
- 3 0 R
- ]
->>
-endobj
-{{object 3 0}} <<
- /Type /Page
- /Parent 2 0 R
- /MediaBox [ 0 0 612 792 ]
- /Annots [
- 5 0 R
- 6 0 R
- ]
->>
-endobj
-{{object 4 0}} <<
- /Fields [ 5 0 R 6 0 R ]
->>
-endobj
-{{object 5 0}} <<
- /Type /Annot
- /Subtype /Widget
- /FT /Ch
- /Ff 0
- /T (MyField)
- /Rect [ 100 350 200 380 ]
- /Opt [
- [ (foo) (Foo) ]
- [ (bar) (Bar) ]
- [ (qux) (Qux) ]
- ]
->>
-endobj
-{{object 6 0}} <<
- /Type /Annot
- /Subtype /Widget
- /FT /Ch
- /Ff 2097152
- /T (MyMultiSelectField)
- /Rect [ 100 400 200 430 ]
- /Opt [ (foo) (bar) (qux) ]
- /V (qux)
->>
-endobj
-{{object 10 0}} <<
- /Type /Action
- /S /JavaScript
- /JS 11 0 R
->>
-endobj
-{{object 11 0}} <<
+{{include field.fragment}}
+{{object 16 0}} <<
{{streamlen}}
>>
stream
@@ -85,143 +26,143 @@
}
}
-getFieldValue('MyField');
+getFieldValue('MyField.MySingleSelect');
// Valid cases
-testField('MyField', 'foo');
-testField('MyField', 'bar');
-testField('MyField', 'qux');
-testField('MyField', ['bar']);
-testField('MyField', ['qux']);
+testField('MyField.MySingleSelect', 'foo');
+testField('MyField.MySingleSelect', 'bar');
+testField('MyField.MySingleSelect', 'qux');
+testField('MyField.MySingleSelect', ['bar']);
+testField('MyField.MySingleSelect', ['qux']);
-getFieldValue('MyField');
+getFieldValue('MyField.MySingleSelect');
// Invalid cases
-testField('MyField', '');
-testField('MyField', 'goats');
-testField('MyField', 'b4');
-testField('MyField', 'b4.5');
-testField('MyField', '4x');
-testField('MyField', '4.5x');
-testField('MyField', 4);
-testField('MyField', '4');
-testField('MyField', ' 4');
-testField('MyField', '4 ');
-testField('MyField', ' 4 ');
-testField('MyField', '4 3 2 1');
-testField('MyField', '-4');
-testField('MyField', '23.00000001');
-testField('MyField', '23.00000000000000001');
-testField('MyField', 40000000000000000000000000);
-testField('MyField', '40000000000000000000000000');
-testField('MyField', '25,5');
-testField('MyField', '1e+5');
-testField('MyField', '1e5');
-testField('MyField', '1e-5');
-testField('MyField', '-1e-5');
-testField('MyField', '1.2e5');
-testField('MyField', Infinity);
-testField('MyField', 'Infinity');
-testField('MyField', 'INFINITY');
-testField('MyField', 'INF');
-testField('MyField', NaN);
-testField('MyField', 'NaN');
-testField('MyField', 'NAN');
-testField('MyField', '0x100');
-testField('MyField', '0x100.1');
-testField('MyField', '0x100,1');
-testField('MyField', '0x100x1');
-testField('MyField', '123x6');
-testField('MyField', '123xy6');
-testField('MyField', '123.y6');
-testField('MyField', '1,000,000');
-testField('MyField', '1.2.3');
-testField('MyField', '1-3');
-testField('MyField', '1+3');
-testField('MyField', '1.-3');
-testField('MyField', '1.+3');
-testField('MyField', [1, 2, 3, 4]);
-testField('MyField', '[1, 2, 3, 4]');
-testField('MyField', {a: 1, b: 2});
-testField('MyField', '{a: 1, b: 2}');
-testField('MyField', function(x) { return x+1; });
-testField('MyField', 'function(x) { return x+1; }');
-testField('MyField', 'Foo');
-testField('MyField', 'Bar');
-testField('MyField', 'Qux');
-testField('MyField', ['bar', 'qux']);
-testField('MyField', ['foo', 1]);
+testField('MyField.MySingleSelect', '');
+testField('MyField.MySingleSelect', 'goats');
+testField('MyField.MySingleSelect', 'b4');
+testField('MyField.MySingleSelect', 'b4.5');
+testField('MyField.MySingleSelect', '4x');
+testField('MyField.MySingleSelect', '4.5x');
+testField('MyField.MySingleSelect', 4);
+testField('MyField.MySingleSelect', '4');
+testField('MyField.MySingleSelect', ' 4');
+testField('MyField.MySingleSelect', '4 ');
+testField('MyField.MySingleSelect', ' 4 ');
+testField('MyField.MySingleSelect', '4 3 2 1');
+testField('MyField.MySingleSelect', '-4');
+testField('MyField.MySingleSelect', '23.00000001');
+testField('MyField.MySingleSelect', '23.00000000000000001');
+testField('MyField.MySingleSelect', 40000000000000000000000000);
+testField('MyField.MySingleSelect', '40000000000000000000000000');
+testField('MyField.MySingleSelect', '25,5');
+testField('MyField.MySingleSelect', '1e+5');
+testField('MyField.MySingleSelect', '1e5');
+testField('MyField.MySingleSelect', '1e-5');
+testField('MyField.MySingleSelect', '-1e-5');
+testField('MyField.MySingleSelect', '1.2e5');
+testField('MyField.MySingleSelect', Infinity);
+testField('MyField.MySingleSelect', 'Infinity');
+testField('MyField.MySingleSelect', 'INFINITY');
+testField('MyField.MySingleSelect', 'INF');
+testField('MyField.MySingleSelect', NaN);
+testField('MyField.MySingleSelect', 'NaN');
+testField('MyField.MySingleSelect', 'NAN');
+testField('MyField.MySingleSelect', '0x100');
+testField('MyField.MySingleSelect', '0x100.1');
+testField('MyField.MySingleSelect', '0x100,1');
+testField('MyField.MySingleSelect', '0x100x1');
+testField('MyField.MySingleSelect', '123x6');
+testField('MyField.MySingleSelect', '123xy6');
+testField('MyField.MySingleSelect', '123.y6');
+testField('MyField.MySingleSelect', '1,000,000');
+testField('MyField.MySingleSelect', '1.2.3');
+testField('MyField.MySingleSelect', '1-3');
+testField('MyField.MySingleSelect', '1+3');
+testField('MyField.MySingleSelect', '1.-3');
+testField('MyField.MySingleSelect', '1.+3');
+testField('MyField.MySingleSelect', [1, 2, 3, 4]);
+testField('MyField.MySingleSelect', '[1, 2, 3, 4]');
+testField('MyField.MySingleSelect', {a: 1, b: 2});
+testField('MyField.MySingleSelect', '{a: 1, b: 2}');
+testField('MyField.MySingleSelect', function(x) { return x+1; });
+testField('MyField.MySingleSelect', 'function(x) { return x+1; }');
+testField('MyField.MySingleSelect', 'Foo');
+testField('MyField.MySingleSelect', 'Bar');
+testField('MyField.MySingleSelect', 'Qux');
+testField('MyField.MySingleSelect', ['bar', 'qux']);
+testField('MyField.MySingleSelect', ['foo', 1]);
-getFieldValue('MyField');
+getFieldValue('MyField.MySingleSelect');
-getFieldValue('MyMultiSelectField');
+getFieldValue('MyField.MyMultiSelect');
// Valid cases
-testField('MyMultiSelectField', 'foo');
-testField('MyMultiSelectField', 'bar');
-testField('MyMultiSelectField', 'qux');
-testField('MyMultiSelectField', ['bar']);
-testField('MyMultiSelectField', ['bar', 'qux']);
-testField('MyMultiSelectField', [1, 2, 3, 4]);
-testField('MyMultiSelectField', ['foo', 1]);
-testField('MyMultiSelectField', ['qux']);
+testField('MyField.MyMultiSelect', 'foo');
+testField('MyField.MyMultiSelect', 'bar');
+testField('MyField.MyMultiSelect', 'qux');
+testField('MyField.MyMultiSelect', ['bar']);
+testField('MyField.MyMultiSelect', ['bar', 'qux']);
+testField('MyField.MyMultiSelect', [1, 2, 3, 4]);
+testField('MyField.MyMultiSelect', ['foo', 1]);
+testField('MyField.MyMultiSelect', ['qux']);
-getFieldValue('MyMultiSelectField');
+getFieldValue('MyField.MyMultiSelect');
// Invalid cases
-testField('MyMultiSelectField', '');
-testField('MyMultiSelectField', 'goats');
-testField('MyMultiSelectField', 'b4');
-testField('MyMultiSelectField', 'b4.5');
-testField('MyMultiSelectField', '4x');
-testField('MyMultiSelectField', '4.5x');
-testField('MyMultiSelectField', 4);
-testField('MyMultiSelectField', '4');
-testField('MyMultiSelectField', ' 4');
-testField('MyMultiSelectField', '4 ');
-testField('MyMultiSelectField', ' 4 ');
-testField('MyMultiSelectField', '4 3 2 1');
-testField('MyMultiSelectField', '-4');
-testField('MyMultiSelectField', '23.00000001');
-testField('MyMultiSelectField', '23.00000000000000001');
-testField('MyMultiSelectField', 40000000000000000000000000);
-testField('MyMultiSelectField', '40000000000000000000000000');
-testField('MyMultiSelectField', '25,5');
-testField('MyMultiSelectField', '1e+5');
-testField('MyMultiSelectField', '1e5');
-testField('MyMultiSelectField', '1e-5');
-testField('MyMultiSelectField', '-1e-5');
-testField('MyMultiSelectField', '1.2e5');
-testField('MyMultiSelectField', Infinity);
-testField('MyMultiSelectField', 'Infinity');
-testField('MyMultiSelectField', 'INFINITY');
-testField('MyMultiSelectField', 'INF');
-testField('MyMultiSelectField', NaN);
-testField('MyMultiSelectField', 'NaN');
-testField('MyMultiSelectField', 'NAN');
-testField('MyMultiSelectField', '0x100');
-testField('MyMultiSelectField', '0x100.1');
-testField('MyMultiSelectField', '0x100,1');
-testField('MyMultiSelectField', '0x100x1');
-testField('MyMultiSelectField', '123x6');
-testField('MyMultiSelectField', '123xy6');
-testField('MyMultiSelectField', '123.y6');
-testField('MyMultiSelectField', '1,000,000');
-testField('MyMultiSelectField', '1.2.3');
-testField('MyMultiSelectField', '1-3');
-testField('MyMultiSelectField', '1+3');
-testField('MyMultiSelectField', '1.-3');
-testField('MyMultiSelectField', '1.+3');
-testField('MyMultiSelectField', '[1, 2, 3, 4]');
-testField('MyMultiSelectField', {a: 1, b: 2});
-testField('MyMultiSelectField', '{a: 1, b: 2}');
-testField('MyMultiSelectField', function(x) { return x+1; });
-testField('MyMultiSelectField', 'function(x) { return x+1; }');
-testField('MyMultiSelectField', 'Foo');
-testField('MyMultiSelectField', 'Bar');
-testField('MyMultiSelectField', 'Qux');
+testField('MyField.MyMultiSelect', '');
+testField('MyField.MyMultiSelect', 'goats');
+testField('MyField.MyMultiSelect', 'b4');
+testField('MyField.MyMultiSelect', 'b4.5');
+testField('MyField.MyMultiSelect', '4x');
+testField('MyField.MyMultiSelect', '4.5x');
+testField('MyField.MyMultiSelect', 4);
+testField('MyField.MyMultiSelect', '4');
+testField('MyField.MyMultiSelect', ' 4');
+testField('MyField.MyMultiSelect', '4 ');
+testField('MyField.MyMultiSelect', ' 4 ');
+testField('MyField.MyMultiSelect', '4 3 2 1');
+testField('MyField.MyMultiSelect', '-4');
+testField('MyField.MyMultiSelect', '23.00000001');
+testField('MyField.MyMultiSelect', '23.00000000000000001');
+testField('MyField.MyMultiSelect', 40000000000000000000000000);
+testField('MyField.MyMultiSelect', '40000000000000000000000000');
+testField('MyField.MyMultiSelect', '25,5');
+testField('MyField.MyMultiSelect', '1e+5');
+testField('MyField.MyMultiSelect', '1e5');
+testField('MyField.MyMultiSelect', '1e-5');
+testField('MyField.MyMultiSelect', '-1e-5');
+testField('MyField.MyMultiSelect', '1.2e5');
+testField('MyField.MyMultiSelect', Infinity);
+testField('MyField.MyMultiSelect', 'Infinity');
+testField('MyField.MyMultiSelect', 'INFINITY');
+testField('MyField.MyMultiSelect', 'INF');
+testField('MyField.MyMultiSelect', NaN);
+testField('MyField.MyMultiSelect', 'NaN');
+testField('MyField.MyMultiSelect', 'NAN');
+testField('MyField.MyMultiSelect', '0x100');
+testField('MyField.MyMultiSelect', '0x100.1');
+testField('MyField.MyMultiSelect', '0x100,1');
+testField('MyField.MyMultiSelect', '0x100x1');
+testField('MyField.MyMultiSelect', '123x6');
+testField('MyField.MyMultiSelect', '123xy6');
+testField('MyField.MyMultiSelect', '123.y6');
+testField('MyField.MyMultiSelect', '1,000,000');
+testField('MyField.MyMultiSelect', '1.2.3');
+testField('MyField.MyMultiSelect', '1-3');
+testField('MyField.MyMultiSelect', '1+3');
+testField('MyField.MyMultiSelect', '1.-3');
+testField('MyField.MyMultiSelect', '1.+3');
+testField('MyField.MyMultiSelect', '[1, 2, 3, 4]');
+testField('MyField.MyMultiSelect', {a: 1, b: 2});
+testField('MyField.MyMultiSelect', '{a: 1, b: 2}');
+testField('MyField.MyMultiSelect', function(x) { return x+1; });
+testField('MyField.MyMultiSelect', 'function(x) { return x+1; }');
+testField('MyField.MyMultiSelect', 'Foo');
+testField('MyField.MyMultiSelect', 'Bar');
+testField('MyField.MyMultiSelect', 'Qux');
-getFieldValue('MyMultiSelectField');
+getFieldValue('MyField.MyMultiSelect');
endstream
endobj