<!DOCTYPE html>
<meta charset="utf-8">
<title>FileReader NotReadableError Test</title>
<link rel="author" title="Intel" href="http://www.intel.com">
<link rel="help" href="https://w3c.github.io/FileAPI/#dfn-error-codes">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<form name="upload">
  <input type="file" id="fileChooser"><br><input type="button" id="start" value="start">
</form>

<div>
  <p>Test steps:</p>
  <ol>
    <li>Download the <a href="support/file_test1.txt">file</a>.</li>
    <li>Select the file in the file inputbox.</li>
    <li>Delete the file's readable permission.</li>
    <li>Click the 'start' button.</li>
  </ol>
</div>

<script>

  const fileChooser = document.querySelector('#fileChooser');

  setup({explicit_done: true});
  setup({explicit_timeout: true});

  on_event(document.querySelector('#start'), 'click', () => {
    async_test(t => {
      const reader = new FileReader();
      reader.readAsArrayBuffer(fileChooser.files[0]);
      reader.onloadend = t.step_func_done(event => {
        assert_equals(event.target.readyState, FileReader.DONE);
        assert_equals(reader.error.name, "NotReadableError");
      });
    }, 'FileReader.error should be NotReadableError if the file is unreadable');
    done();
  });

</script>

