block-string-assignment-to-innerHTML.tentative.html
<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
</head>
<body>
<script>
// String assignments throw.
test(t => {
var d = document.createElement('div');
assert_throws(new TypeError(), _ => {
d.innerHTML = "Fail.";
});
}, "`innerHTML = string` throws.");
// TrustedHTML assignments work.
test(t => {
var html = TrustedHTML.escape(STRINGS.unescapedHTML);
var d = document.createElement('div');
d.innerHTML = html;
assert_equals(d.innerText, STRINGS.unescapedHTML);
}, "innerHTML = TrustedHTML.escape().");
test(t => {
var html = TrustedHTML.unsafelyCreate(STRINGS.unescapedHTML);
var d = document.createElement('div');
d.innerHTML = html;
assert_equals(d.innerText, STRINGS.unescapedText);
}, "innerHTML = TrustedHTML.unsafelyCreate().");
</script>
</body>
</html>