| // META: title=XMLHttpRequest: the LOADING state change may be emitted multiple times |
| |
| var test = async_test(); |
| |
| test.step(function () { |
| var client = new XMLHttpRequest(); |
| var countedLoading = 0; |
| |
| client.onreadystatechange = test.step_func(function () { |
| if (client.readyState === 3) { |
| countedLoading += 1; |
| } |
| |
| if (client.readyState === 4) { |
| assert_greater_than(countedLoading, 1, "LOADING state change may be emitted multiple times"); |
| |
| test.done(); |
| } |
| }); |
| |
| client.open("GET", "resources/trickle.py?count=10"); // default timeout in trickle.py is 1/2 sec, so this request will take 5 seconds to complete |
| client.send(null); |
| }); |