diff options
Diffstat (limited to 'testing/resources/javascript/constructor.in')
-rw-r--r-- | testing/resources/javascript/constructor.in | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/testing/resources/javascript/constructor.in b/testing/resources/javascript/constructor.in new file mode 100644 index 0000000000..1211f89868 --- /dev/null +++ b/testing/resources/javascript/constructor.in @@ -0,0 +1,77 @@ +{{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 |