| lenient | 94c2f48 | 2013-08-18 07:14:27 | [diff] [blame] | 1 | <!doctype html> | 
|  | 2 | <html> | 
|  | 3 | <head> | 
|  | 4 | <title>FileReader States</title> | 
| Ms2ger | 7b75414 | 2015-01-28 08:59:59 | [diff] [blame] | 5 | <link rel=help href="http://dev.w3.org/2006/webapi/FileAPI/#dfn-filereader"> | 
| lenient | 94c2f48 | 2013-08-18 07:14:27 | [diff] [blame] | 6 | <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 |  | 
| lenient | 94c2f48 | 2013-08-18 07:14:27 | [diff] [blame] | 33 | 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 | }); | 
| Ms2ger | 8843018 | 2015-01-14 18:42:23 | [diff] [blame] | 38 | fileReader.abort(); | 
|  | 39 | fileReader.onabort = this.unreached_func("abort event should fire sync") | 
| lenient | 94c2f48 | 2013-08-18 07:14:27 | [diff] [blame] | 40 | }); | 
|  | 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) { | 
| Ms2ger | 8843018 | 2015-01-14 18:42:23 | [diff] [blame] | 55 | assert_equals(fileReader.readyState, 1); | 
|  | 56 | assert_equals(fileReader.readyState, FileReader.LOADING); | 
| lenient | 94c2f48 | 2013-08-18 07:14:27 | [diff] [blame] | 57 | }); | 
|  | 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> |