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();