• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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