blob: be0a4300e1a69b3a0f846ed2c8d31826e5ac739c [file] [log] [blame]
let test_setup_policy = trustedTypes.createPolicy("hurrayanythinggoes", {
createScriptURL: x => x
});
importScripts(test_setup_policy.createScriptURL("/resources/testharness.js"));
// Determine worker type (for better logging)
let worker_type = "unknown";
if (this.DedicatedWorkerGlobalScope !== undefined) {
worker_type = "dedicated worker";
} else if (this.SharedWorkerGlobalScope !== undefined) {
worker_type = "shared worker";
} else if (this.ServiceWorkerGlobalScope !== undefined) {
worker_type = "service worker";
}
// Test eval(string)
test(t => {
assert_throws_js(EvalError, _ => eval("2"));
}, "eval(string) in " + worker_type);
// Test eval(TrustedScript)
let test_policy = trustedTypes.createPolicy("xxx", {
createScript: x => x.replace("2", "7")
});
test(t => {
assert_equals(eval(test_policy.createScript("2")), 7);
}, "eval(TrustedScript) in " + worker_type);
// Test eval(String) with default policy
trustedTypes.createPolicy("default", {
createScript: x => x.replace("2", "5")
});
test(t => {
assert_equals(eval("2"), 5);
}, "eval(string) with default policy in " + worker_type);
done();