зеркало из https://github.com/mozilla/gecko-dev.git
97 строки
1.9 KiB
HTML
97 строки
1.9 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<title>Test bug 482935</title>
|
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href=" /tests/SimpleTest/test.css" />
|
|
</head>
|
|
<body onload="onWindowLoad()">
|
|
<script class="testbody" type="text/javascript">"use strict";
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
var url = "file_XHR_pass1.xml";
|
|
|
|
function onWindowLoad() {
|
|
runTest();
|
|
}
|
|
|
|
function runTest() {
|
|
var testFunctions = [
|
|
startTest1,
|
|
startTest2,
|
|
startTest3,
|
|
];
|
|
|
|
function nextTest() {
|
|
if (testFunctions.length == 0) {
|
|
SimpleTest.finish();
|
|
return;
|
|
}
|
|
(testFunctions.shift())();
|
|
}
|
|
|
|
nextTest();
|
|
|
|
var xhr;
|
|
function startTest1() {
|
|
xhr = new XMLHttpRequest();
|
|
xhr.onload = onLoad1;
|
|
xhr.open("GET", url);
|
|
xhr.send();
|
|
}
|
|
|
|
function onLoad1() {
|
|
is(xhr.readyState, xhr.DONE, "readyState should be DONE");
|
|
xhr.onabort = onAbort1;
|
|
xhr.abort();
|
|
|
|
function onAbort1(e) {
|
|
ok(false, e.type + " event should not be fired!");
|
|
}
|
|
|
|
is(xhr.readyState, xhr.UNSENT, "readyState should be UNSENT");
|
|
nextTest();
|
|
}
|
|
|
|
function startTest2() {
|
|
xhr = new XMLHttpRequest();
|
|
xhr.onloadstart = onAfterSend;
|
|
xhr.open("GET", url);
|
|
xhr.send();
|
|
}
|
|
|
|
function startTest3() {
|
|
xhr = new XMLHttpRequest();
|
|
xhr.open("GET", url);
|
|
xhr.send();
|
|
onAfterSend();
|
|
}
|
|
|
|
function onAfterSend() {
|
|
is(xhr.readyState, xhr.OPENED, "readyState should be OPENED");
|
|
var sent = false;
|
|
try {
|
|
xhr.send();
|
|
} catch (e) {
|
|
sent = true;
|
|
}
|
|
ok(sent, "send() flag should be set");
|
|
var aborted = false;
|
|
xhr.onabort = onAbort2;
|
|
xhr.abort();
|
|
|
|
function onAbort2() {
|
|
is(xhr.readyState, xhr.DONE, "readyState should be DONE");
|
|
aborted = true;
|
|
}
|
|
|
|
ok(aborted, "abort event should be fired");
|
|
is(xhr.readyState, xhr.UNSENT, "readyState should be UNSENT");
|
|
nextTest();
|
|
}
|
|
}
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|