| <!DOCTYPE html> |
| <meta charset=utf-8> |
| <title>text field selection: select()</title> |
| <link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org"> |
| <link rel=help href="https://html.spec.whatwg.org/multipage/#textFieldSelection"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <div id="log"></div> |
| <textarea>foobar</textarea> |
| <script> |
| var input_types = ["text", "search", "tel", "url", "password"], |
| t1 = async_test("select() on textarea queues select event"), |
| q1 = false; |
| |
| input_types.forEach(function(type) { |
| var input = document.createElement("input"), |
| t = async_test("select() on input type " + type + " queues select event"), |
| q = false; |
| t.step(function() { |
| input.type = type; |
| input.value = "foobar"; |
| document.body.appendChild(input); |
| input.onselect = t.step_func_done(function(e) { |
| assert_true(q, "event should be queued"); |
| assert_true(e.isTrusted, "event is trusted"); |
| assert_true(e.bubbles, "event bubbles"); |
| assert_false(e.cancelable, "event is not cancelable"); |
| }); |
| input.select(); |
| q=true; |
| }); |
| }); |
| |
| document.querySelector("textarea").onselect = t1.step_func_done(function(e) { |
| assert_true(q1, "event should be queued"); |
| assert_true(e.isTrusted, "event is trusted"); |
| assert_true(e.bubbles, "event bubbles"); |
| assert_false(e.cancelable, "event is not cancelable"); |
| }); |
| |
| t1.step(function() { |
| document.querySelector("textarea").select(); |
| q1=true; |
| }); |
| </script> |