summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to 'testing')
-rw-r--r--testing/resources/javascript/apply.in75
-rw-r--r--testing/resources/javascript/apply_expected.txt8
2 files changed, 83 insertions, 0 deletions
diff --git a/testing/resources/javascript/apply.in b/testing/resources/javascript/apply.in
new file mode 100644
index 0000000000..1342c1af4e
--- /dev/null
+++ b/testing/resources/javascript/apply.in
@@ -0,0 +1,75 @@
+{{header}}
+{{object 1 0}} <<
+ /Type /Catalog
+ /Pages 2 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]
+>>
+% OpenAction action
+{{object 10 0}} <<
+ /Type /Action
+ /S /JavaScript
+ /JS 11 0 R
+>>
+endobj
+% JS program to exexute
+{{object 11 0}} <<
+>>
+stream
+app.alert('Applying to util itself - should succeed');
+try {
+ app.alert(util.byteToChar.apply(util, [65]));
+}
+catch (e) {
+ app.alert('Caught: ' + e);
+}
+
+app.alert('Applying to array - should throw');
+try {
+ app.alert(util.byteToChar.apply([], [65]));
+}
+catch (e) {
+ app.alert('Caught: ' + e);
+}
+
+app.alert('Applying to number - should throw');
+try {
+ app.alert(util.byteToChar.apply(7, [65]));
+}
+catch (e) {
+ app.alert('Caught: ' + e);
+}
+
+app.alert('Applying to wrong native obj - should throw');
+try {
+ app.alert(util.byteToChar.apply(app, [65]));
+}
+catch (e) {
+ app.alert('Caught: ' + e);
+}
+endstream
+endobj
+{{xref}}
+trailer <<
+ /Root 1 0 R
+>>
+{{startxref}}
+%%EOF
diff --git a/testing/resources/javascript/apply_expected.txt b/testing/resources/javascript/apply_expected.txt
new file mode 100644
index 0000000000..750676f235
--- /dev/null
+++ b/testing/resources/javascript/apply_expected.txt
@@ -0,0 +1,8 @@
+Alert: Applying to util itself - should succeed
+Alert: A
+Alert: Applying to array - should throw
+Alert: Caught: TypeError: Illegal invocation
+Alert: Applying to number - should throw
+Alert: Caught: TypeError: Illegal invocation
+Alert: Applying to wrong native obj - should throw
+Alert: Caught: TypeError: Illegal invocation