<!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 = "/XMLHttpRequest/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);
      try {
        xhr.send();
        assert_unreached("Error should occur here");
      } catch(e) {
        assert_equals(xhr.status, 0);
      }
    }, "Cross-origin request denied");
    </script>
  </body>
</html>
