chromium/third_party/blink/web_tests/http/tests/xmlhttprequest/xmlhttprequest-test-send-flag.html

<html>
<head></head>
<body>

<p> Test bug 16989 : Add send() flag checks in XmlHttpRequest </p>
<p> You should see PASS two times </p>

<div id="ans"></div>

<script type="text/javascript">
function log(message) {
    document.getElementById("ans").appendChild(document.createTextNode(message));
    document.getElementById("ans").appendChild(document.createElement("br"));
}

if (window.testRunner)
    testRunner.dumpAsText();

var xhr;

if (window.XMLHttpRequest) {
    xhr = new XMLHttpRequest();
} else {
    try {
        xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (ex) {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
}

// First test : test open method send() flag check
xhr.open("GET", "resources/endlessxml.php", true);
xhr.send(null);
try {
    if (xhr.readyState == 1)
        xhr.send(null);
    log("FAILED");
} catch (e) {
    // Call abort to prevent triggering some readystate events
    xhr.abort();
    log("PASS");
}

// Second test : test setResponseHeader method send() flag check
xhr.open("GET", "resources/endlessxml.php", true);
xhr.setRequestHeader("Test1", "Test1");
xhr.send(null);
try {
    // makes sure readyState is opened (bug in Opera)
    if (xhr.readyState == 1)
        xhr.setRequestHeader("Test", "Test");
    log("FAILED");
} catch (e) {
    // Call abort to prevent triggering some readystate events
    xhr.abort();
    log("PASS");
}

if (window.testRunner)
    testRunner.notifyDone();

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