| Index: LayoutTests/imported/web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html
|
| diff --git a/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html b/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1494b662ecd37899a557675ab0046766e98fc3d5
|
| --- /dev/null
|
| +++ b/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html
|
| @@ -0,0 +1,58 @@
|
| +<!DOCTYPE html>
|
| +<meta charset=utf-8>
|
| +<title>Input element's type attribute changes state</title>
|
| +<link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org">
|
| +<link rel=help href="https://html.spec.whatwg.org/multipage/#the-input-element">
|
| +<script src="../../../../../../resources/testharness.js"></script>
|
| +<script src="../../../../../../resources/testharnessreport.js"></script>
|
| +<div id="log"></div>
|
| +<script>
|
| + var types = [
|
| + { type: "hidden" },
|
| + { type: "text", sanitizedValue: " foobar " },
|
| + { type: "search", sanitizedValue: " foobar " },
|
| + { type: "tel", sanitizedValue: " foobar " },
|
| + { type: "url", sanitizedValue: "foobar" },
|
| + { type: "email", sanitizedValue: "foobar" },
|
| + { type: "password", sanitizedValue: " foobar " },
|
| + { type: "datetime", sanitizedValue: "" },
|
| + { type: "date", sanitizedValue: "" },
|
| + { type: "month", sanitizedValue: "" },
|
| + { type: "week", sanitizedValue: "" },
|
| + { type: "time", sanitizedValue: "" },
|
| + { type: "number", sanitizedValue: "" },
|
| + { type: "range", sanitizedValue: "50" },
|
| + { type: "color", sanitizedValue: "#000000" },
|
| + { type: "checkbox" },
|
| + { type: "radio" },
|
| + { type: "file" },
|
| + { type: "submit" },
|
| + { type: "image" },
|
| + { type: "reset" },
|
| + { type: "button" }
|
| + ];
|
| + for (var i = 0; i < types.length; i++) {
|
| + for (var j = 0; j < types.length; j++) {
|
| + if (types[i] != types[j]) {
|
| + test(function() {
|
| + var input = document.createElement("input");
|
| + input.type = types[i].type;
|
| + if (types[i].type === "file") {
|
| + assert_throws("INVALID_STATE_ERR", function() {
|
| + input.value = " foo\rbar ";
|
| + });
|
| + assert_equals(input.value, "");
|
| + } else {
|
| + input.value = " foo\rbar ";
|
| + input.type = types[j].type; // change state
|
| + if (types[j].sanitizedValue || types[j].sanitizedValue === "") {
|
| + assert_equals(input.value, types[j].sanitizedValue, "input.value should be " + types[j].sanitizedValue + " after change of state");
|
| + } else {
|
| + assert_equals(input.value, " foo\rbar ", "input.value should be ' foo\\rbar ' after change of state");
|
| + }
|
| + }
|
| + }, "change state from " + types[i].type + " to " + types[j].type);
|
| + }
|
| + }
|
| + }
|
| +</script>
|
|
|