diff options
Diffstat (limited to '')
-rw-r--r-- | dom/base/test/test_bug313646.html | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/dom/base/test/test_bug313646.html b/dom/base/test/test_bug313646.html new file mode 100644 index 0000000000..55bb760978 --- /dev/null +++ b/dom/base/test/test_bug313646.html @@ -0,0 +1,62 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=313646 +--> +<head> + <title>Test for Bug 313646</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> +</head> +<body> +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=313646">Mozilla Bug 313646</a> +<p id="display"></p> +<div id="content" style="display: none"> + +</div> +<pre id="test"> +<script class="testbody" type="text/javascript"> + +/** Test for Bug 313646 **/ + +// dom/base/test/bug313646.txt + +SimpleTest.waitForExplicitFinish(); + +var count1 = 0; +var count2 = 0; +var count3 = 0; +var count4 = 0; +var innerXHRDone = 0; +var req = new XMLHttpRequest(); +req.onreadystatechange = function(evt) { + ++window["count" + evt.target.readyState]; + + // Do something a bit evil, start a new sync XHR in + // readyStateChange listener. + var innerXHR = new XMLHttpRequest(); + innerXHR.onreadystatechange = function(e) { + if (e.target.readyState == 4) { + ++innerXHRDone; + } + } + innerXHR.open("GET","bug313646.txt", false); + innerXHR.send(); +} + +// make the synchronous request +req.open("GET","bug313646.txt", false); +req.send(); + +ok(count1, "XMLHttpRequest wasn't in state 1"); +is(count2, 0, "XMLHttpRequest shouldn't have been in state 2"); +is(count3, 0, "XMLHttpRequest shouldn't have been in state 3"); +ok(count4, "XMLHttpRequest wasn't in state 4"); +is(innerXHRDone, 2, "There should have been 2 inner XHRs."); + +SimpleTest.finish(); + +</script> +</pre> +</body> +</html> |