<!DOCTYPE HTML>
<html>
<head>
    <title>default-src should cascade to script-src directive</title>
    <script src='/resources/testharness.js'></script>
    <script src='/resources/testharnessreport.js'></script>
    <script src='../support/siblingPath.js'></script>
</head>
<body>
    <h1>default-src should cascade to script-src directive</h1>
    <div id='log'></div>

    <script>
      var scriptsrc1 = async_test("Verify cascading of default-src to script-src policy: block");
      var scriptsrc2 = async_test("Verify cascading of default-src to script-src policy: allow");
      var allowedScriptRan = false;
    </script>

    <script src='pass-0_1.js'></script>

    <script>
      var inlineScript = document.createElement('script');
      inlineScript.src = buildSiblingPath('www1', 'fail-0_1.js');
      document.getElementById('log').appendChild(inlineScript);
      onload = function() {
          scriptsrc1.done();
          scriptsrc2.step( function() { assert_true(allowedScriptRan, "allowed script didn't run") });
          scriptsrc2.done();
      }
    </script>

    <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=default-src%20%27self%27%20%27unsafe-inline%27'></script>

</body>
</html>
