| <!doctype html> |
| <html> |
| <head> |
| <title>ProgressEvent: firing events for HTTP with no Content-Length</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <div id="log"></div> |
| <script> |
| async_test(t => { |
| const xhr = new XMLHttpRequest(); |
| let progressHappened = false; |
| |
| xhr.onprogress = t.step_func(pe => { |
| assert_equals(pe.type, "progress"); |
| assert_greater_than_equal(pe.loaded, 0, "loaded"); |
| assert_false(pe.lengthComputable, "lengthComputable"); |
| assert_equals(pe.total, 0, "total"); |
| progressHappened = true; |
| }); |
| |
| // "loadstart", "error", "abort", "load" tests are out of scope. |
| // They SHOULD be tested in each spec that implement ProgressEvent. |
| |
| xhr.onloadend = t.step_func_done(() => { |
| assert_true(progressHappened); |
| }); |
| |
| xhr.open("GET", "resources/trickle.py?ms=0&count=100", true); |
| xhr.send(null); |
| }); |
| </script> |
| </body> |
| </html> |