summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/xhr/event-readystatechange-loaded.any.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/xhr/event-readystatechange-loaded.any.js')
-rw-r--r--testing/web-platform/tests/xhr/event-readystatechange-loaded.any.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/testing/web-platform/tests/xhr/event-readystatechange-loaded.any.js b/testing/web-platform/tests/xhr/event-readystatechange-loaded.any.js
new file mode 100644
index 0000000000..a33e6f8922
--- /dev/null
+++ b/testing/web-platform/tests/xhr/event-readystatechange-loaded.any.js
@@ -0,0 +1,23 @@
+// 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);
+});