| <!doctype html> | |
| <html> | |
| <head> | |
| <title>XMLHttpRequest: implements EventTarget</title> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| </head> | |
| <body> | |
| <div id="log"></div> | |
| <script> | |
| var test = async_test(), | |
| x = null, | |
| expected = ["a1", "b1", "c1", "a1", "b1", "c1", "a2", "b2", "c2", "a3", "c3", "a4", "c4"], | |
| result = [] | |
| function callback(e) { | |
| result.push("b" + x.readyState) | |
| test.step(function() { | |
| if(x.readyState == 3) | |
| assert_unreached() | |
| }) | |
| } | |
| test.step(function() { | |
| x = new XMLHttpRequest() | |
| x.onreadystatechange = function() { | |
| test.step(function() { | |
| result.push("a" + x.readyState) | |
| }) | |
| } | |
| x.addEventListener("readystatechange", callback, false) | |
| x.addEventListener("readystatechange", function() { | |
| test.step(function() { | |
| result.push("c" + x.readyState) | |
| if(x.readyState == 2) | |
| x.removeEventListener("readystatechange", callback, false) | |
| if(x.readyState == 4) { | |
| assert_array_equals(result, expected) | |
| test.done() | |
| } | |
| }) | |
| }, false) | |
| x.open("GET", "folder.txt") | |
| x.send(null) | |
| }) | |
| </script> | |
| </body> | |
| </html> |