<!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>