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