<!DOCTYPE html>
<meta charset=utf-8>
<title>input type file</title>
<link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org">
<link rel=help href="https://html.spec.whatwg.org/multipage/#file-upload-state-(type=file)">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<p>Manual test: clicking on the input should open a prompt allowing you to select a file.</p>
<input type=file id=file>
<script>
  setup({explicit_timeout:true});

  var input = document.getElementById('file'),
      t1 = async_test("selecting files should fire the input event at the input element"),
      t2 = async_test("selecting files should fire the change event at the input element");

  document.getElementById('file').oninput = t1.step_func_done(function(e) {
    assert_true(e.bubbles, "input event bubbles");
    assert_true(e.isTrusted, "input event should be trusted");
    assert_false(e.cancelable, "input event shoud not be cancelable");
  })
  document.getElementById('file').onchange = t2.step_func_done(function(e) {
    assert_true(e.bubbles, "change event bubbles");
    assert_true(e.isTrusted, "change event should be trusted");
    assert_false(e.cancelable, "change event shoud not be cancelable");
    assert_true(input.files instanceof FileList);
    assert_equals(input.value, "C:\\fakepath\\" + input.files[0].name);
  })
</script>
