66 lines
2.7 KiB
HTML
66 lines
2.7 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<body>
|
|
<script src="../../../resources/js-test-pre.js"></script>
|
|
<script>
|
|
description("Tests that HTMLTableElement.caption / tHead / tFoot are nullable and behave according to specification.");
|
|
|
|
var table = document.createElement("table");
|
|
shouldBe("table.__proto__", "HTMLTableElement.prototype");
|
|
var caption = document.createElement("caption");
|
|
shouldBe("caption.__proto__", "HTMLTableCaptionElement.prototype");
|
|
var thead = document.createElement("thead");
|
|
shouldBe("thead.__proto__", "HTMLTableSectionElement.prototype");
|
|
var tfoot = document.createElement("tFoot");
|
|
shouldBe("tfoot.__proto__", "HTMLTableSectionElement.prototype");
|
|
|
|
debug("");
|
|
debug("* HTMLTableElement.caption");
|
|
shouldBeNull("table.caption");
|
|
evalAndLog("table.caption = caption");
|
|
shouldBe("table.caption", "caption");
|
|
shouldThrow("table.caption = document.body", "'TypeError: The HTMLTableElement.caption attribute must be an instance of HTMLTableCaptionElement'");
|
|
shouldBe("table.caption", "caption");
|
|
evalAndLog("table.caption = null");
|
|
shouldBeNull("table.caption");
|
|
evalAndLog("table.caption = caption");
|
|
shouldBe("table.caption", "caption");
|
|
evalAndLog("table.caption = undefined"); // undefined is converted to null for nullable attributes.
|
|
shouldBeNull("table.caption");
|
|
|
|
debug("");
|
|
debug("* HTMLTableElement.tHead");
|
|
shouldBeNull("table.tHead");
|
|
evalAndLog("table.tHead = thead");
|
|
shouldBe("table.tHead", "thead");
|
|
shouldThrow("table.tHead = document.body", "'TypeError: The HTMLTableElement.tHead attribute must be an instance of HTMLTableSectionElement'");
|
|
shouldBe("table.tHead", "thead");
|
|
shouldThrowErrorName("table.tHead = tfoot", "HierarchyRequestError");
|
|
shouldBe("table.tHead", "thead");
|
|
evalAndLog("table.tHead = null");
|
|
shouldBeNull("table.tHead");
|
|
evalAndLog("table.tHead = thead");
|
|
shouldBe("table.tHead", "thead");
|
|
evalAndLog("table.tHead = undefined"); // undefined is converted to null for nullable attributes.
|
|
shouldBeNull("table.tHead");
|
|
|
|
debug("");
|
|
debug("* HTMLTableElement.tFoot");
|
|
shouldBeNull("table.tFoot");
|
|
evalAndLog("table.tFoot = tfoot");
|
|
shouldBe("table.tFoot", "tfoot");
|
|
shouldThrow("table.tFoot = document.body", "'TypeError: The HTMLTableElement.tFoot attribute must be an instance of HTMLTableSectionElement'");
|
|
shouldBe("table.tFoot", "tfoot");
|
|
shouldThrowErrorName("table.tFoot = thead", "HierarchyRequestError");
|
|
shouldBe("table.tFoot", "tfoot");
|
|
evalAndLog("table.tFoot = null");
|
|
shouldBeNull("table.tFoot");
|
|
evalAndLog("table.tFoot = tfoot");
|
|
shouldBe("table.tFoot", "tfoot");
|
|
evalAndLog("table.tFoot = undefined"); // undefined is converted to null for nullable attributes.
|
|
shouldBeNull("table.tFoot");
|
|
</script>
|
|
<script src="../../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|