<!DOCTYPE html>
<html>
  <head>
    <title>Tests proper handling of cross-origin async request with credentials</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">
    async_test((test) => {
      const xhr = new XMLHttpRequest;

      xhr.open("PUT", get_host_info().HTTP_REMOTE_ORIGIN +
          "/xhr/resources/access-control-auth-basic.py?uid=fooUser",
          true, "fooUser", "barPass");
      xhr.withCredentials = true;

      xhr.onerror = test.unreached_func("Unexpected error.");

      xhr.onload = test.step_func_done(() => {
        assert_equals(xhr.status, 401, "Request raises HTTP 401: Unauthorized error.");
      });

      xhr.send();
    }, "CORS async request with URL credentials");
    </script>
  </body>
</html>
