| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <meta charset=utf-8> | 2 <meta charset=utf-8> |
| 3 <title>text field selection: setRangeText</title> | 3 <title>text field selection: setRangeText</title> |
| 4 <link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org"> | 4 <link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org"> |
| 5 <link rel=help href="https://html.spec.whatwg.org/multipage/#textFieldSelection"
> | 5 <link rel=help href="https://html.spec.whatwg.org/multipage/#textFieldSelection"
> |
| 6 <script src="../../../../../../resources/testharness.js"></script> | 6 <script src="../../../../../../resources/testharness.js"></script> |
| 7 <script src="../../../../../../resources/testharnessreport.js"></script> | 7 <script src="../../../../../../resources/testharnessreport.js"></script> |
| 8 <style> | 8 <style> |
| 9 #display_none {display:none;} | 9 #display_none {display:none;} |
| 10 </style> | 10 </style> |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 document.getElementById("search"), | 26 document.getElementById("search"), |
| 27 document.getElementById("tel"), | 27 document.getElementById("tel"), |
| 28 document.getElementById("url"), | 28 document.getElementById("url"), |
| 29 document.getElementById("password"), | 29 document.getElementById("password"), |
| 30 document.getElementById("display_none"), | 30 document.getElementById("display_none"), |
| 31 document.getElementById("textarea"), | 31 document.getElementById("textarea"), |
| 32 input, | 32 input, |
| 33 ] | 33 ] |
| 34 | 34 |
| 35 elements.forEach(function(element) { | 35 elements.forEach(function(element) { |
| 36 var t = async_test(element.id + " setRangeText fires a select event"), | |
| 37 q = false; | |
| 38 | |
| 39 test(function() { | 36 test(function() { |
| 40 element.value = "foobar"; | 37 element.value = "foobar"; |
| 41 element.selectionStart = 0; | 38 element.selectionStart = 0; |
| 42 element.selectionEnd = 3; | 39 element.selectionEnd = 3; |
| 43 assert_equals(element.selectionStart, 0); | 40 assert_equals(element.selectionStart, 0); |
| 44 assert_equals(element.selectionEnd, 3); | 41 assert_equals(element.selectionEnd, 3); |
| 45 element.setRangeText("foobar2"); | 42 element.setRangeText("foobar2"); |
| 46 assert_equals(element.value, "foobar2bar"); | 43 assert_equals(element.value, "foobar2bar"); |
| 47 assert_equals(element.selectionStart, 0); | 44 assert_equals(element.selectionStart, 0); |
| 48 assert_equals(element.selectionEnd, 7); | 45 assert_equals(element.selectionEnd, 7); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 element.setRangeText("barfoo", 2, 1); | 98 element.setRangeText("barfoo", 2, 1); |
| 102 }); | 99 }); |
| 103 }, element.id + " setRangeText with 3rd argument greater than 2nd argument t
hrows an IndexSizeError exception"); | 100 }, element.id + " setRangeText with 3rd argument greater than 2nd argument t
hrows an IndexSizeError exception"); |
| 104 | 101 |
| 105 test(function(){ | 102 test(function(){ |
| 106 assert_throws(new TypeError(), function() { | 103 assert_throws(new TypeError(), function() { |
| 107 element.setRangeText(); | 104 element.setRangeText(); |
| 108 }); | 105 }); |
| 109 }, element.id + " setRangeText without argument throws a type error"); | 106 }, element.id + " setRangeText without argument throws a type error"); |
| 110 | 107 |
| 111 element.onselect = t.step_func_done(function(e) { | 108 async_test(function() { |
| 109 var q = false; |
| 110 element.onselect = this.step_func_done(function(e) { |
| 112 assert_true(q, "event should be queued"); | 111 assert_true(q, "event should be queued"); |
| 113 assert_true(e.isTrusted, "event is trusted"); | 112 assert_true(e.isTrusted, "event is trusted"); |
| 114 assert_false(e.bubbles, "event bubbles"); | 113 assert_false(e.bubbles, "event bubbles"); |
| 115 assert_false(e.cancelable, "event is not cancelable"); | 114 assert_false(e.cancelable, "event is not cancelable"); |
| 116 }); | 115 }); |
| 117 element.setRangeText("foobar2", 0, 6); | 116 element.setRangeText("foobar2", 0, 6); |
| 118 q=true; | 117 q = true; |
| 118 }, element.id + " setRangeText fires a select event"); |
| 119 }) | 119 }) |
| 120 </script> | 120 </script> |
| OLD | NEW |