<!DOCTYPE HTML>
<html>
<head>
    <title>test wildcard host name matching (asterisk as part of a subdomain is not accepted)</title>
    <script>
      var t_spv = async_test("Should fire violation events for every failed violation");
      var spvEvent;
      window.addEventListener("securitypolicyviolation", t_spv.step_func(function(e) {
          spvEvent = e;
      }));
      addEventListener("load", t_spv.step_func_done(function() {
          assert_true(!!spvEvent);
          assert_equals(spvEvent.violatedDirective, "script-src-elem");
      }));

      var head = document.getElementsByTagName('head')[0];
      var script = document.createElement('script');
      script.type = 'text/javascript';
      script.src = "http://www." + location.hostname + ":" + location.port + "/content-security-policy/generic/wildcardHostTestSuceeds.js";
      head.appendChild(script);
    </script>
    <meta http-equiv="Content-Security-Policy" content="script-src 'self' *w.{{host}}:{{ports[http][0]}} w*.{{host}}:{{ports[http][0]}} 'unsafe-inline';">
    <script src='/resources/testharness.js'></script>
    <script src='/resources/testharnessreport.js'></script>
    <script src='wildcardHostTestFailure.js'></script>
</head>
<body>
    <h1>test wildcard host name matching (asterisk as part of a subdomain is not accepted)</h1>
    <div id='log'></div>
</body>
</html>
