| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta name="assert" content="Check the order of events fired when the request has failed."> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="resources/xmlhttprequest-event-order.js"></script> |
| <title>XMLHttpRequest: event - timeout (order of events)</title> |
| </head> |
| |
| <body> |
| <div id="log"></div> |
| |
| <script type="text/javascript"> |
| var test = async_test(); |
| |
| test.step(function() |
| { |
| var xhr = new XMLHttpRequest(); |
| prepare_xhr_for_event_order_test(xhr); |
| xhr.addEventListener("loadend", function() { |
| test.step(function() { |
| assert_xhr_event_order_matches([1, "loadstart(0,0,false)", "upload.loadstart(0,12,true)", 4, "upload.timeout(0,0,false)", "upload.loadend(0,0,false)", "timeout(0,0,false)", "loadend(0,0,false)"]); |
| test.done(); |
| }); |
| }); |
| |
| xhr.timeout = 5; |
| xhr.open("POST", "resources/delay.py?ms=20000"); |
| xhr.send("Test Message"); |
| test.step_timeout(() => { |
| assert_unreached("ontimeout not called."); |
| }, 10); |
| }); |
| </script> |
| </body> |
| </html> |