summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2016-02-01 10:13:27 -0800
committerTom Sepez <tsepez@chromium.org>2016-02-01 10:13:27 -0800
commit6c5acbd5478a316b31f7700fa33c45af7f9be6d5 (patch)
treeec3d35caa5954eb2822f58d71a8da5159cfd6aaf
parent57123944df5d7388036f70ef164a103b67dc9258 (diff)
downloadpdfium-6c5acbd5478a316b31f7700fa33c45af7f9be6d5.tar.xz
Merge to XFA: Add Test for field.getArray() sort-order.
Review URL: https://codereview.chromium.org/1650623004 . (cherry picked from commit 56d618ac9b4c82a9a350f21bbc6ec2ec6a95c8b0) TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1657533004 .
-rw-r--r--testing/resources/javascript/field.in126
-rw-r--r--testing/resources/javascript/field_expected.txt8
2 files changed, 134 insertions, 0 deletions
diff --git a/testing/resources/javascript/field.in b/testing/resources/javascript/field.in
new file mode 100644
index 0000000000..c23b81a604
--- /dev/null
+++ b/testing/resources/javascript/field.in
@@ -0,0 +1,126 @@
+{{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
+% Page number 0.
+{{object 3 0}} <<
+ /Type /Page
+ /Parent 2 0 R
+ /Resources <<
+ /Font <</F1 15 0 R>>
+ >>
+ /Contents [21 0 R]
+ /MediaBox [0 0 612 792]
+>>
+endobj
+% Forms
+{{object 4 0}} <<
+ /Fields [5 0 R]
+>>
+endobj
+% Fields
+{{object 5 0}} <<
+ /T (MyField)
+ /Type /Annot
+ /Subtype /Widget
+ /Rect [100 100 400 400]
+ /Kids [
+ 6 0 R
+ 7 0 R
+ 8 0 R
+ 9 0 R
+ ]
+>>
+endobj
+{{object 6 0}} <<
+ /FT /Tx
+ /Parent 5 0 R
+ /T (Sub_X)
+ /Type /Annot
+ /Subtype /Widget
+ /Rect [200 200 220 220]
+>>
+endobj
+{{object 7 0}} <<
+ /FT /Tx
+ /Parent 5 0 R
+ /T (Sub_A)
+ /Type /Annot
+ /Subtype /Widget
+ /Rect [220 220 240 240]
+>>
+endobj
+{{object 8 0}} <<
+ /FT /Tx
+ /Parent 5 0 R
+ /T (Sub_Z)
+ /Type /Annot
+ /Subtype /Widget
+ /Rect [240 240 260 260]
+>>
+endobj
+{{object 9 0}} <<
+ /FT /Tx
+ /Parent 5 0 R
+ /T (Sub_B)
+ /Type /Annot
+ /Subtype /Widget
+ /Rect [260 260 280 280]
+>>
+endobj
+% OpenAction action
+{{object 10 0}} <<
+ /Type /Action
+ /S /JavaScript
+ /JS 11 0 R
+>>
+endobj
+% JS program to exexute
+{{object 11 0}} <<
+>>
+stream
+function TestGetField() {
+ try {
+ var field = this.getField("MyField");
+ app.alert("field is " + field.name);
+ var sub_a = this.getField("MyField.Sub_A");
+ app.alert("sub_a is " + sub_a.name);
+ var nonesuch = this.getField("MyField.nonesuch");
+ app.alert("nonesuch is " + nonesuch);
+ } catch (e) {
+ app.alert("Unexpected error: " + e);
+ }
+}
+function TestGetArray() {
+ try {
+ var subs = this.getField("MyField").getArray();
+ app.alert("found " + subs.length + " sub-fields:");
+ for (i = 0; i < subs.length; ++i) {
+ app.alert(subs[i].name);
+ }
+ } catch (e) {
+ app.alert("Unexpected error: " + e);
+ }
+}
+TestGetField();
+TestGetArray();
+endstream
+endobj
+{{xref}}
+trailer <<
+ /Root 1 0 R
+>>
+{{startxref}}
+%%EOF
diff --git a/testing/resources/javascript/field_expected.txt b/testing/resources/javascript/field_expected.txt
new file mode 100644
index 0000000000..04aafd737e
--- /dev/null
+++ b/testing/resources/javascript/field_expected.txt
@@ -0,0 +1,8 @@
+Alert: field is MyField
+Alert: sub_a is MyField.Sub_A
+Alert: nonesuch is undefined
+Alert: found 4 sub-fields:
+Alert: MyField.Sub_A
+Alert: MyField.Sub_B
+Alert: MyField.Sub_X
+Alert: MyField.Sub_Z