| <!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> |