| <!DOCTYPE HTML> |
| <title>The selection interface members</title> |
| <link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com"> |
| <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> |
| <script> |
| test(function() { |
| var valid = ["text", "search", "url", "tel", "password"]; |
| var invalid = ["hidden", "datetime", "date", "month", "week", "datetime-local", |
| "number", "range", "color", "checkbox", "radio", "button", |
| "file", "email", "submit", "image", "reset"]; |
| valid.forEach(function(aType) { |
| test(function() { |
| var input = document.createElement("input"); |
| input.type = aType; |
| assert_equals(input.type, aType, "Input type unsupported") |
| input.select(); |
| var a = input.selectionStart; |
| input.selectionStart = 0; |
| a = input.selectionEnd; |
| input.selectionEnd = 0; |
| input.setSelectionRange(0, 0); |
| }, "Selection attributes should apply to type " + aType) |
| }) |
| |
| invalid.forEach(function(aType) { |
| test(function() { |
| var input = document.createElement("input"); |
| input.type = aType; |
| assert_equals(input.type, aType, "Input type unsupported") |
| assert_throws("INVALID_STATE_ERR", function() { input.select(); }, "Should throw with type " + aType); |
| assert_throws("INVALID_STATE_ERR", function() { var a = input.selectionStart; }); |
| assert_throws("INVALID_STATE_ERR", function() { input.selectionStart = 0; }); |
| assert_throws("INVALID_STATE_ERR", function() { var a = input.selectionEnd; }); |
| assert_throws("INVALID_STATE_ERR", function() { input.selectionEnd = 0; }); |
| assert_throws("INVALID_STATE_ERR", function() { input.setSelectionRange(0, 0); }); |
| }, "Selection attributes should not apply to type " + aType) |
| }) |
| }); |
| </script> |