<html>
<body>
<p>Tests for <a href="https://bugs.webkit.org/show_bug.cgi?id=15102">bug 15102</a> -
XMLHttpRequest should dispatch readystatechange event.</p>
<p>If this passes you should see alerts for onreadystatechange and for a readystatechange listener.</p>
<script>
if (window.testRunner)
testRunner.dumpAsText();
function called1(evt) {
alert("onreadystatechange called");
alert("evt.constructor = " + evt.constructor);
if (evt instanceof ProgressEvent) {
alert("FAIL: evt must not be an instance of ProgressEvent");
}
evt.foo = "bar";
}
function called2(evt) {
evt.stopPropagation(); // stopPropagation shouldn't have any effect, as we don't have an hierarchy to traverse
}
function called3(evt) {
if (evt.foo == "bar")
alert("readystatechange listener called");
else
alert("ERROR: readystatechange listener called, but the event object is not the same as in onreadystatechange!");
}
try {
var XHR = new XMLHttpRequest();
XHR.onreadystatechange = called1;
XHR.addEventListener("readystatechange", called2, false);
XHR.addEventListener("readystatechange", called3, false);
XHR.open("GET", "readystatechange.html", true);
} catch (ex) {
alert(ex);
}
</script>
</body>
</html>