| <!DOCTYPE html> |
| <meta charset=utf-8> |
| <title>Input element value mode</title> |
| <link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <div id="log"></div> |
| <script> |
| var types = [ |
| { type: "hidden", mode: "default" }, |
| { type: "text", mode: "value", sanitizedValue: "foo" }, |
| { type: "search", mode: "value", sanitizedValue: "foo" }, |
| { type: "tel", mode: "value", sanitizedValue: "foo" }, |
| { type: "url", mode: "value", sanitizedValue: "foo" }, |
| { type: "email", mode: "value", sanitizedValue: "foo" }, |
| { type: "password", mode: "value", sanitizedValue: "foo" }, |
| { type: "datetime", mode: "value", sanitizedValue: "" }, |
| { type: "date", mode: "value", sanitizedValue: "" }, |
| { type: "month", mode: "value", sanitizedValue: "" }, |
| { type: "week", mode: "value", sanitizedValue: "" }, |
| { type: "time", mode: "value", sanitizedValue: "" }, |
| { type: "number", mode: "value", sanitizedValue: "" }, |
| { type: "range", mode: "value", sanitizedValue: "50" }, |
| { type: "color", mode: "value", sanitizedValue: "#000000" }, |
| { type: "checkbox", mode: "default/on" }, |
| { type: "radio", mode: "default/on" }, |
| { type: "submit", mode: "default" }, |
| { type: "image", mode: "default" }, |
| { type: "reset", mode: "default" }, |
| { type: "button", mode: "default" } |
| ]; |
| for (var i = 0; i < types.length; i++) { |
| test(function() { |
| var input = document.createElement("input"), |
| expected; |
| input.type = types[i].type; |
| input.value = "foo"; |
| switch(types[i].mode) { |
| case "default": |
| expected = ""; |
| break; |
| case "default/on": |
| expected = "on"; |
| break; |
| case "value": |
| expected = types[i].sanitizedValue; |
| break; |
| } |
| assert_equals(input.value, expected); |
| }, "value IDL attribute of input type " + types[i].type + " without value attribute"); |
| |
| test(function() { |
| var input = document.createElement("input"), |
| expected; |
| input.type = types[i].type; |
| input.setAttribute("value", "bar"); |
| input.value = "foo"; |
| switch(types[i].mode) { |
| case "default": |
| expected = "bar"; |
| break; |
| case "default/on": |
| expected = "bar"; |
| break; |
| case "value": |
| expected = types[i].sanitizedValue; |
| break; |
| } |
| assert_equals(input.value, expected); |
| }, "value IDL attribute of input type " + types[i].type + " with value attribute"); |
| } |
| </script> |