https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 8409a38ef8d57d6fdad447adef206f17d1ecf9fb authored by James Graham on 14 August 2018, 18:17:53 UTC
WIP
Tip revision: 8409a38
DOMParser-requiresTrustedTypes.tentative.html
<!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>
back to top