<!DOCTYPE html>
<meta charset="utf-8">
<title>FileReader SecurityError 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>Select a system sensitive file (e.g. files in /usr/bin, password files,
        and other native operating system executables) in the file inputbox.</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, "SecurityError");
      });
    }, 'FileReader.error should be SECURITY_ERROR if the file is a system sensitive file');
    done();
  });

</script>
