78 lines
1.6 KiB
Plaintext
78 lines
1.6 KiB
Plaintext
{{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
|