Skip to content

Commit 863ad54

Browse files
committed
Merge pull request #1565 from w3c/pr-294
Progress events test for File API; r=Ms2ger+zqzhang+zcorpan
2 parents 99f131c + 2f5ef5a commit 863ad54

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

FileAPI/progress.html

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<!DOCTYPE html>
2+
<meta charset=utf-8>
3+
<title>Process Events for FileReader</title>
4+
<link rel=help href="http://www.w3.org/TR/FileAPI/#event-handler-attributes-section">
5+
<link rel=author title="Jinks Zhao" href="mailto:[email protected]">
6+
<script src="/resources/testharness.js"></script>
7+
<script src="/resources/testharnessreport.js"></script>
8+
Please choose one file through this input below.<br>
9+
<input type="file" id="filer">
10+
<div id="log"></div>
11+
<script>
12+
var input, reader, progressEventCounter, progressEventTimeList,
13+
lastProgressEventTime;
14+
setup(function() {
15+
input = document.getElementById('filer');
16+
reader = new FileReader();
17+
progressEventCounter = 0;
18+
progressEventTimeList = [];
19+
lastProgressEventTime;
20+
}, { explicit_timeout: true });
21+
22+
var t = async_test("FileReader progress events.")
23+
24+
reader.onprogress = t.step_func(function () {
25+
var newTime = new Date;
26+
var timeout = newTime - lastProgressEventTime;
27+
28+
progressEventTimeList.push(timeout);
29+
lastProgressEventTime = newTime;
30+
progressEventCounter++;
31+
32+
assert_less_than_equal(timeout, 50, "The progress event should be fired every 50ms.");
33+
});
34+
35+
reader.onload = t.step_func_done(function () {
36+
assert_greater_than_equal(progressEventCounter, 1,
37+
"When read completely, the progress event must be fired at least once.")
38+
});
39+
40+
input.onchange = t.step_func(function () {
41+
var files = input.files;
42+
43+
assert_greater_than(files.length, 0);
44+
var file = files[0];
45+
46+
lastProgressEventTime = new Date;
47+
reader.readAsArrayBuffer(file);
48+
});
49+
</script>

0 commit comments

Comments
 (0)