| <!doctype html> | |
| <html> | |
| <head> | |
| <title>FileReader States</title> | |
| <link rel=help href="http://dev.w3.org/2006/webapi/FileAPI/#dfn-filereader"> | |
| <link rel=author title="Lenient" href="mailto:lenient315@gmail.com"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| </head> | |
| <body> | |
| <div id="log"></div> | |
| <script> | |
| test(function() { | |
| assert_true("FileReader" in window, "window should have a FileReader property."); | |
| }, "FileReader interface object"); | |
| test(function(){ | |
| var fileReader = new FileReader(); | |
| assert_true(fileReader instanceof FileReader); | |
| }, "no-argument FileReader constructor"); | |
| var t_abort = async_test("FileReader States -- abort"); | |
| t_abort.step(function(){ | |
| var fileReader = new FileReader(); | |
| assert_equals(fileReader.readyState, 0); | |
| assert_equals(fileReader.readyState, FileReader.EMPTY); | |
| var blob = new Blob(); | |
| fileReader.readAsArrayBuffer(blob); | |
| assert_equals(fileReader.readyState, 1); | |
| assert_equals(fileReader.readyState, FileReader.LOADING); | |
| fileReader.onabort = this.step_func(function(e) { | |
| assert_equals(fileReader.readyState, 2); | |
| assert_equals(fileReader.readyState, FileReader.DONE); | |
| t_abort.done(); | |
| }); | |
| fileReader.abort(); | |
| fileReader.onabort = this.unreached_func("abort event should fire sync") | |
| }); | |
| var t_event = async_test("FileReader States -- events"); | |
| t_event.step(function(){ | |
| var fileReader = new FileReader(); | |
| var blob = new Blob(); | |
| fileReader.readAsArrayBuffer(blob); | |
| fileReader.onloadstart = this.step_func(function(e) { | |
| assert_equals(fileReader.readyState, 1); | |
| assert_equals(fileReader.readyState, FileReader.LOADING); | |
| }); | |
| fileReader.onprogress = this.step_func(function(e) { | |
| assert_equals(fileReader.readyState, 1); | |
| assert_equals(fileReader.readyState, FileReader.LOADING); | |
| }); | |
| fileReader.onloadend = this.step_func(function(e) { | |
| assert_equals(fileReader.readyState, 2); | |
| assert_equals(fileReader.readyState, FileReader.DONE); | |
| t_event.done(); | |
| }); | |
| }); | |
| </script> | |
| </body> | |
| </html> |