blob: b0d557645da187864fa446c0ac3ecd552a7041ff [file] [log] [blame]
importScripts("{{location[server]}}/resources/testharness.js");
importScripts("{{location[server]}}/content-security-policy/support/testharness-helper.js");
test(t => {
self.a = false;
assert_throws("NetworkError",
_ => importScripts("http://{{domains[www]}}:{{ports[http][1]}}/content-security-policy/support/var-a.js"),
"importScripts should throw `NetworkError`");
assert_false(self.a);
}, "Cross-origin `importScripts()` blocked in " + self.location.protocol + self.location.search);
test(t => {
assert_throws(EvalError(),
_ => eval("1 + 1"),
"`eval()` should throw 'EvalError'.");
assert_throws(EvalError(),
_ => new Function("1 + 1"),
"`new Function()` should throw 'EvalError'.");
}, "`eval()` blocked in " + self.location.protocol + self.location.search);
async_test(t => {
waitUntilCSPEventForEval(t, 27)
.then(t.step_func_done());
self.setTimeoutTest = t;
var result = setTimeout("(self.setTimeoutTest.unreached_func('setTimeout([string]) should not execute.'))()", 1);
assert_equals(result, 0);
}, "`setTimeout([string])` blocked in " + self.location.protocol + self.location.search);
done();