1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="utf-8"> 5 <title>FileReader Errors Test</title> 6 <link rel=help href="http://dev.w3.org/2006/webapi/FileAPI/#convenienceAPI"> 7 <link rel=author title="Breezewish" href="mailto:me@breeswish.org"> 8 <script src="/resources/testharness.js"></script> 9 <script src="/resources/testharnessreport.js"></script> 10</head> 11<body> 12 <form name="upload"> 13 <input type="file" id="fileChooser"><br><input type="button" id="start" value="start"> 14 </form> 15 16 <div> 17 <p>Test steps:</p> 18 <ol> 19 <li>Download the <a href="support/file_test1.txt">file</a>.</li> 20 <li>Select the file in the file inputbox.</li> 21 <li>Delete the file.</li> 22 <li>Click the 'start' button.</li> 23 </ol> 24 </div> 25 26 <div id="log"></div> 27 28 <script> 29 30 var fileChooser = document.querySelector('#fileChooser'); 31 32 setup({explicit_done: true}); 33 setup({explicit_timeout: true}); 34 35 on_event(fileChooser, 'change', function() { 36 37 async_test(function(t) { 38 39 var reader = new FileReader(); 40 reader.readAsArrayBuffer(fileChooser.files[0]); 41 42 reader.onloadend = t.step_func_done(function(event) { 43 assert_equals(event.target.readyState, FileReader.DONE); 44 assert_equals(reader.error, null); 45 }); 46 47 }, 'FileReader.error should be null if there are no errors when reading'); 48 49 }); 50 51 on_event(document.querySelector('#start'), 'click', function() { 52 53 async_test(function(t) { 54 55 var reader = new FileReader(); 56 reader.readAsArrayBuffer(fileChooser.files[0]); 57 58 reader.onloadend = t.step_func_done(function(event) { 59 assert_equals(event.target.readyState, FileReader.DONE); 60 assert_equals(reader.error.code, 8); 61 assert_true(reader.error instanceof DOMException); 62 }); 63 64 }, 'FileReader.error should be NOT_FOUND_ERR if the file is not found when reading'); 65 66 done(); 67 68 }); 69 70 </script> 71</body> 72</html> 73