Index: testing/resources/javascript/apply.in |
diff --git a/testing/resources/javascript/apply.in b/testing/resources/javascript/apply.in |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1342c1af4e71c86dfd01b091d0f9fbe68cebfe69 |
--- /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 |