blob: 7e21feabd24c653cbe0b713d01e20aeade534b6e [file] [log] [blame]
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
<body>
<script>
//HTML assignments don't throw
test(t => {
var html = TrustedHTML.escape(STRINGS.unescapedHTML);
var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
assert_equals(doc.body.innerText, STRINGS.unescapedHTML);
}, "innerTextOfDoc = TrustedHTML.escape().");
test(t => {
var html = TrustedHTML.unsafelyCreate(STRINGS.unescapedHTML);
var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
assert_equals(doc.body.innerText, STRINGS.unescapedText);
}, "innerTextOfDoc = TrustedHTML.unsafelyCreate().");
//Null assignment throws
test(t => {
var parser = new DOMParser();
assert_throws(new TypeError(), _ => {
var doc = parser.parseFromString(null, "text/html");
});
}, "'innerTextOfDoc = null' throws");
// String assignments throw.
test(t => {
var parser = new DOMParser();
assert_throws(new TypeError(), _ => {
var doc = parser.parseFromString("Fail", "text/html");
});
}, "`innerTextOfDoc = string` throws.");
</script>