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