blob: 1d67a51ff6ab1df879a59af5ee7c6ad9a0609be0 [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>
//TrustedHTML assignments work
test(t => {
var html = TrustedHTML.escape(STRINGS.unescapedHTML);
var range = document.createRange();
range.selectNodeContents(document.documentElement);
var result = range.createContextualFragment(html);
assert_equals(result.textContent, STRINGS.unescapedHTML);
}, "DocumentFragment.textContent = TrustedHTML.escape().");
test(t => {
var html = TrustedHTML.unsafelyCreate(STRINGS.unescapedHTML);
var range = document.createRange();
range.selectNodeContents(document.documentElement);
var result = range.createContextualFragment(html);
assert_equals(result.textContent, STRINGS.unescapedText);
}, "DocumentFragment.textContent = TrustedHTML.unsafelyCreate().");
//Null assignment throws
test(t => {
var range = document.createRange();
range.selectNodeContents(document.documentElement);
assert_throws(new TypeError(), _ => {
var result = range.createContextualFragment(null);
});
}, "`DocumentFragment.textContent = null` throws.");
// String assignments throw.
test(t => {
var range = document.createRange();
range.selectNodeContents(document.documentElement);
assert_throws(new TypeError(), _ => {
var result = range.createContextualFragment("A string");
});
}, "`DocumentFragment.textContent = string` throws.");
</script>