<html>
<head>
    <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'nonce-abc' 'sha256-YJSaNEZFStZqU2Mp2EttwhcP2aT9lnDvexn+BM2HfKo=';">
    <script src='/resources/testharness.js'></script>
    <script src='/resources/testharnessreport.js'></script>
</head>
<body>
    <script nonce="abc">
      var t = async_test("Should convert the script contents to UTF-8 before hashing");
      var count = 0;
      var script_ran = function() {
        // if both blocks run the tests is succsssful
        if (++count == 2) t.done();
      }
      window.addEventListener("securitypolicyviolation", t.unreached_func("Should not have fired a spv"));

      // Insert a script element that contains the U+FFFD replacement character
      var scr1 = document.createElement('script');
      scr1.text ="//\uFFFD\nscript_ran();";
      document.body.appendChild(scr1);

      // Insert a script element that contains a surrogate character but it otherwise
      // entirely identical to the previously inserted one, the surrogate should be
      // be converted to U+FFFD when converting to UTF-8 so it should have the
      // same hash as the one inserted before
      var scr2 = document.createElement('script');
      scr2.text ="//\uD801\nscript_ran();";
      document.body.appendChild(scr2);
    </script>
</body>
</html>
