ladybird/Tests/LibWeb/Text/input/HTML/HTMLInputElement-valueAsNumber.html
Tim Ledbetter 1b74104c17 LibWeb: Make input type state change handling specification compliant
This change ensures that the value sanitization algorithm is run and
the text cursor is set to the correct position when the type attribute
of an input is changed.
2024-09-10 16:12:58 +01:00

49 lines
1.3 KiB
HTML

<input id="input-element" value="100" style="display: none;" />
<script src="../include.js"></script>
<script>
test(() => {
const inputElement = document.getElementById("input-element");
const allInputTypes = [
"number",
"range",
"hidden",
"text",
"search",
"tel",
"url",
"email",
"password",
"date",
"month",
"week",
"time",
"datetime-local",
"color",
"checkbox",
"radio",
"file",
"submit",
"image",
"reset",
"button",
];
println("valueAsNumber getter:");
for (const type of allInputTypes) {
inputElement.type = type;
println(`${type}: ${inputElement.valueAsNumber}`);
}
println("valueAsNumber setter:");
for (const type of allInputTypes) {
try {
inputElement.type = type;
inputElement.valueAsNumber = 100;
println(`${type} did not throw: ${inputElement.valueAsNumber}`);
} catch (e) {
println(`${type} threw exception: ${e.name}: ${e.message}`);
}
}
});
</script>