Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

<!doctype html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<meta
http-equiv="Content-Security-Policy"
content="require-trusted-types-for 'script';"
/>
</head>
<body>
<div id="container"></div>
<script>
const container = document.querySelector("#container");
const noSanitizerPolicy = trustedTypes.createPolicy("no-sanitizer", {
createHTML: (html) => html,
createParserOptions: (options) => null
});
trustedTypes.createPolicy("default", {
createHTML: (html) => html,
createParserOptions: (options) => options
});
test((t) => {
const options = noSanitizerPolicy.createParserOptions({});
assert_true(options instanceof TrustedHTMLParserOptions, "should return a TrustedHTMLParserOptions");
assert_false("sanitizer" in options, "TrustedHTMLParserOptions has no public sanitizer member");
}, "TrustedHTMLParserOptions has no public members when createParserOptions returns null/empty");
test((t) => {
const target = document.createElement("div");
target.setHTMLUnsafe(
"<span id='test-span'></span>",
noSanitizerPolicy.createParserOptions({})
);
assert_not_equals(target.querySelector("#test-span"), null);
}, "Element.setHTMLUnsafe: when TrustedHTMLParserOptions has null sanitizer, no sanitization occurs");
</script>
</body>
</html>