| {{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 | |
| /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}} << | |
| {{streamlen}} | |
| >> | |
| stream | |
| function testIllegalConstructor(name, allowed) { | |
| const constructorString = name + ".constructor"; | |
| let constructor; | |
| try { | |
| constructor = eval(constructorString); | |
| } catch (e) { | |
| app.alert("FAIL: No such " + constructorString); | |
| return; | |
| } | |
| try { | |
| constructor(); | |
| app.alert("FAIL: " + constructorString + "(): returned"); | |
| } catch (e) { | |
| app.alert("PASS: " + constructorString + "(): " + e); | |
| } | |
| try { | |
| new constructor; | |
| app.alert("FAIL: new " + constructorString + ": returned"); | |
| } catch (e) { | |
| app.alert("PASS: new " + constructorString + ": " + e); | |
| } | |
| } | |
| testIllegalConstructor("this"); | |
| testIllegalConstructor("app"); | |
| testIllegalConstructor("event"); | |
| testIllegalConstructor("font"); | |
| testIllegalConstructor("global"); | |
| testIllegalConstructor("util"); | |
| testIllegalConstructor("style"); | |
| testIllegalConstructor("color"); | |
| testIllegalConstructor("border"); | |
| testIllegalConstructor("display"); | |
| testIllegalConstructor("console"); | |
| testIllegalConstructor("position"); | |
| testIllegalConstructor("highlight"); | |
| testIllegalConstructor("zoomtype"); | |
| testIllegalConstructor("scaleHow"); | |
| testIllegalConstructor("scaleWhen"); | |
| endstream | |
| endobj | |
| {{xref}} | |
| {{trailer}} | |
| {{startxref}} | |
| %%EOF |