blob: 2c884953324c52d27666a2a01f50c42458f8119a [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>This test checks that assigning null to HTMLInputElement.value behaves
correctly; i.e. as if the empty string was assigned.</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<link rel="stylesheet" href="../../../resources/testharness.css">
</head>
<body>
<form style="display: none">
<input id="text-with-default" type="text" value="default">
<input id="text-without-default" type="text">
<input id="hidden" type="hidden" value="value">
</form>
<script>
test(function () {
var input = document.getElementById("text-with-default");
assert_equals(input.value, "default");
assert_equals(input.getAttribute("value"), "default");
input.value = "custom";
assert_equals(input.value, "custom");
assert_equals(input.getAttribute("value"), "default");
input.value = null;
assert_equals(input.value, "");
assert_true(input.hasAttribute("value"));
}, "input[type=text] with value content attribute.");
test(function () {
var input = document.getElementById("text-without-default");
assert_equals(input.value, "");
assert_false(input.hasAttribute("value"));
input.value = null;
assert_equals(input.value, "");
assert_false(input.hasAttribute("value"));
}, "input[type=text] without value content attribute.");
test(function () {
var input = document.getElementById("hidden");
assert_equals(input.value, "value");
assert_equals(input.getAttribute("value"), "value");
input.value = null;
assert_equals(input.value, "");
assert_true(input.hasAttribute("value"));
assert_equals(input.getAttribute("value"), "");
}, "input[type=hidden] with value content attribute.");
</script>
</body>
</html>