 <!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>XHR2 Timeout Property Tests</title>
    <link rel="help" href="https://xhr.spec.whatwg.org/#timeout-error" />
    <link rel="help" href="https://xhr.spec.whatwg.org/#the-timeout-attribute" data-tested-assertations="following::ol[1]/li[2]" />
    <link rel="help" href="https://xhr.spec.whatwg.org/#handler-xhr-ontimeout" data-tested-assertations="../.."/>
    <link rel="help" href="https://xhr.spec.whatwg.org/#timeout-error" data-tested-assertations=".."/>
    <link rel="help" href="https://xhr.spec.whatwg.org/#request-error" data-tested-assertations="following::ol[1]/li[9]"/>
    <link rel="help" href="https://xhr.spec.whatwg.org/#infrastructure-for-the-send()-method" data-tested-assertations="following-sibling::dl//code[contains(@title,'dom-XMLHttpRequest-timeout')]/.. following-sibling::dl//code[contains(@title,'dom-XMLHttpRequest-timeout')]/../following-sibling::dd following::dt[1] following::dd[1]" />
    <meta name=timeout content=long>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
</head>
<body>
    <div id="log"></div>
    <script type="text/javascript">

var test = async_test();

function startRequest() {
    xhr.open("GET", "./resources/content.py?content=Hi", true);
    xhr.timeout = 2000;
    test.step_timeout(function () {
      xhr.send();
    }, 1000);
}

test.step(function()
{
    var count = 0;
    xhr = new XMLHttpRequest();
    xhr.onload = function () {
        assert_equals(xhr.response, "Hi");
        if (++count == 2) {
            test.done();
        }
    }
    xhr.ontimeout = function () {
      assert_unreached("HTTP error should not timeout");
    }
    startRequest();
    test.step_timeout(startRequest, 3500);
});

    </script>
</body>
</html>
