<!doctype html>
<html>
  <head>
    <title>XMLHttpRequest: send() - "Basic" authenticated requests with user name and password passed to open()</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/common/utils.js"></script>
    <link rel="help" href="https://xhr.spec.whatwg.org/#the-open()-method" data-tested-assertations="following::ol[1]/li[9]/ol[1]/li[1] following::ol[1]/li[9]/ol[1]/li[2]" />
    <link rel="help" href="https://xhr.spec.whatwg.org/#the-send()-method" data-tested-assertations="following::code[contains(@title,'http-authorization')]/.." />
  </head>
  <body>
    <div id="log"></div>
    <script>
      test(function() {
        var client = new XMLHttpRequest(),
          urlstart = location.host + location.pathname.replace(/\/[^\/]*$/, '/'),
          user = token();
        client.open("GET", location.protocol+'//'+urlstart + "resources/auth1/auth.py", false, user, 'pass')
        client.setRequestHeader("x-user", user)
        client.send(null)
        assert_equals(client.responseText, user + "\n" + 'pass')
        assert_equals(client.getResponseHeader('x-challenge'), 'DID')
      }, document.title)
    </script>
    <p>Note: this test will only work as expected once per browsing session. Restart browser to re-test.</p>
  </body>
</html>
