<!DOCTYPE html>
<html>
<head>
<link rel="help" href="http://www.w3.org/TR/2012/WD-XMLHttpRequest-20121206/#request-error"/>
<script src="../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description("Test to validate the order in which the events are fired in case of a request error.");
window.jsTestIsAsync = true;

expectedOrder = "rsdone,upload.onerror,upload.onloadend,onerror,onloadend,";
actualOrder = "";

var xhr = new XMLHttpRequest();
xhr.open("POST", "http://localhost:8000/xmlhttprequest/resources/cross-site-progress-events.cgi", true);
xhr.setRequestHeader("Content-Type", "text/plain");

xhr.onreadystatechange = function () {
    if (xhr.readyState == XMLHttpRequest.DONE) {
        actualOrder += "rsdone,";
    }
};
xhr.upload.onerror = function (evt) {
    actualOrder += "upload.onerror,";
};
xhr.upload.onloadend = function () {
    actualOrder += "upload.onloadend,";
};
xhr.onerror = function (evt) {
    actualOrder += "onerror,";
};
xhr.onloadend = function () {
    actualOrder += "onloadend,";
    shouldBeEqualToString('actualOrder', '' + expectedOrder);
    finishJSTest();
};

xhr.send("test");

</script>
<script src="../resources/js-test-post.js"></script>
</body>
</html>
