blob: 5416794cda9d981267f911b9800354379d24cbf1 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../../resources/js-test.js"></script>
</head>
<body>
<script>
description("HTMLTextAreaElement rows attribute test");
function rowsAttributeEffect(value)
{
var element = document.createElement("textarea");
element.setAttribute("rows", value);
return element.rows;
}
shouldBe('document.createElement("textarea").rows', '2');
shouldBe('rowsAttributeEffect("")', '2');
shouldBe('rowsAttributeEffect("1")', '1');
shouldBe('rowsAttributeEffect("2")', '2');
shouldBe('rowsAttributeEffect("10")', '10');
shouldBe('rowsAttributeEffect("0")', '2');
shouldBe('rowsAttributeEffect("-1")', '2');
shouldBe('rowsAttributeEffect("1x")', '1');
shouldBe('rowsAttributeEffect("1.")', '1');
shouldBe('rowsAttributeEffect("1.9")', '1');
shouldBe('rowsAttributeEffect("2x")', '2');
shouldBe('rowsAttributeEffect("2.")', '2');
shouldBe('rowsAttributeEffect("2.9")', '2');
shouldBe('rowsAttributeEffect("a")', '2');
shouldBe('rowsAttributeEffect("\v7")', '2');
shouldBe('rowsAttributeEffect(" 7")', '7');
var arabicIndicDigitOne = String.fromCharCode(0x661);
shouldBe('rowsAttributeEffect(arabicIndicDigitOne)', '2');
shouldBe('rowsAttributeEffect("2" + arabicIndicDigitOne)', '2');
// Verify that values >= 2^31 result in the default value.
shouldBe('rowsAttributeEffect("2147483646")', '2147483646');
shouldBe('rowsAttributeEffect("2147483647")', '2147483647');
shouldBe('rowsAttributeEffect("2147483648")', '2');
shouldBe('rowsAttributeEffect("2147483649")', '2');
// Verify that 2^32 is no special boundary at all.
shouldBe('rowsAttributeEffect("4294967295")', '2');
shouldBe('rowsAttributeEffect("4294967296")', '2');
shouldBe('rowsAttributeEffect("4294967297")', '2');
</script>
</body>
</html>