blob: b767e22d4a66eba06560617405952dfbefa2c084 [file] [log] [blame]
lenient94c2f482013-08-18 07:14:271<!doctype html>
2<html>
3 <head>
4 <title>FileReader States</title>
Ms2ger7b754142015-01-28 08:59:595 <link rel=help href="http://dev.w3.org/2006/webapi/FileAPI/#dfn-filereader">
lenient94c2f482013-08-18 07:14:276 <link rel=author title="Lenient" href="mailto:lenient315@gmail.com">
7 <script src="/resources/testharness.js"></script>
8 <script src="/resources/testharnessreport.js"></script>
9 </head>
10 <body>
11 <div id="log"></div>
12 <script>
13 test(function() {
14 assert_true("FileReader" in window, "window should have a FileReader property.");
15 }, "FileReader interface object");
16
17 test(function(){
18 var fileReader = new FileReader();
19 assert_true(fileReader instanceof FileReader);
20 }, "no-argument FileReader constructor");
21
22 var t_abort = async_test("FileReader States -- abort");
23 t_abort.step(function(){
24 var fileReader = new FileReader();
25 assert_equals(fileReader.readyState, 0);
26 assert_equals(fileReader.readyState, FileReader.EMPTY);
27
28 var blob = new Blob();
29 fileReader.readAsArrayBuffer(blob);
30 assert_equals(fileReader.readyState, 1);
31 assert_equals(fileReader.readyState, FileReader.LOADING);
32
lenient94c2f482013-08-18 07:14:2733 fileReader.onabort = this.step_func(function(e) {
34 assert_equals(fileReader.readyState, 2);
35 assert_equals(fileReader.readyState, FileReader.DONE);
36 t_abort.done();
37 });
Ms2ger88430182015-01-14 18:42:2338 fileReader.abort();
39 fileReader.onabort = this.unreached_func("abort event should fire sync")
lenient94c2f482013-08-18 07:14:2740 });
41
42 var t_event = async_test("FileReader States -- events");
43 t_event.step(function(){
44 var fileReader = new FileReader();
45
46 var blob = new Blob();
47 fileReader.readAsArrayBuffer(blob);
48
49 fileReader.onloadstart = this.step_func(function(e) {
50 assert_equals(fileReader.readyState, 1);
51 assert_equals(fileReader.readyState, FileReader.LOADING);
52 });
53
54 fileReader.onprogress = this.step_func(function(e) {
Ms2ger88430182015-01-14 18:42:2355 assert_equals(fileReader.readyState, 1);
56 assert_equals(fileReader.readyState, FileReader.LOADING);
lenient94c2f482013-08-18 07:14:2757 });
58
59 fileReader.onloadend = this.step_func(function(e) {
60 assert_equals(fileReader.readyState, 2);
61 assert_equals(fileReader.readyState, FileReader.DONE);
62 t_event.done();
63 });
64 });
65 </script>
66 </body>
67</html>