| <!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> |