<!DOCTYPE html>
<html>
  <head>
    <title>Tests CORS denying resource without Access-Control-Allow-Origin header</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/common/get-host-info.sub.js"></script>
  </head>
  <body>
    <script type="text/javascript">
    const path = "/xhr/resources/access-control-basic-denied.py";

    test(function() {
      const xhr = new XMLHttpRequest;

      xhr.open("GET", get_host_info().HTTP_ORIGIN + path, false);
      xhr.send();
      assert_equals(xhr.status, 200);
    }, "Same-origin request accepted");

    test(function() {
      const xhr = new XMLHttpRequest;

      xhr.open("GET", get_host_info().HTTP_REMOTE_ORIGIN + path, false);
      assert_throws("NetworkError", () => xhr.send());
      assert_equals(xhr.status, 0);
    }, "Cross-origin request denied");
    </script>
  </body>
</html>
