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