<!doctype html>
<html>
  <head>
    <title>XMLHttpRequest: prototype and members</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <link rel="help" href="https://xhr.spec.whatwg.org/#dom-xmlhttprequest" data-tested-assertations="following::ol/li[1]" />
    <link rel="help" href="https://xhr.spec.whatwg.org/#xmlhttprequest" data-tested-assertations="." />
    <link rel="help" href="https://xhr.spec.whatwg.org/#states" data-tested-assertations="following::dfn[2] following::dfn[3] following::dfn[4] following::dfn[5] following::dfn[6]" />
  </head>
  <body>
    <div id="log"></div>
    <script>
      test(function() {
        XMLHttpRequest.prototype.test = function() { return "TEH" }
        var client = new XMLHttpRequest()
        assert_equals(client.test(), "TEH")
        var members = ["onreadystatechange",
                       "open",
                       "setRequestHeader",
                       "send",
                       "abort",
                       "status",
                       "statusText",
                       "getResponseHeader",
                       "getAllResponseHeaders",
                       "responseText",
                       "responseXML"]
        for(var x in members)
          assert_true(members[x] in client, members[x])
        var constants = ["UNSENT",
                         "OPENED",
                         "HEADERS_RECEIVED",
                         "LOADING",
                         "DONE"],
            i = 0
        for(var x in constants) {
          assert_equals(client[constants[x]], i, constants[x])
          assert_equals(XMLHttpRequest[constants[x]], i, "XHR " + constants[x])
          i++
        }
      })
    </script>
  </body>
</html>
