Tests that HTMLTableElement.caption / tHead / tFoot are nullable and behave according to specification.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS table.__proto__ is HTMLTableElement.prototype
PASS caption.__proto__ is HTMLTableCaptionElement.prototype
PASS thead.__proto__ is HTMLTableSectionElement.prototype
PASS tfoot.__proto__ is HTMLTableSectionElement.prototype

* HTMLTableElement.caption
PASS table.caption is null
table.caption = caption
PASS table.caption is caption
PASS table.caption = document.body threw exception TypeError: The HTMLTableElement.caption attribute must be an instance of HTMLTableCaptionElement.
PASS table.caption is caption
table.caption = null
PASS table.caption is null
table.caption = caption
PASS table.caption is caption
table.caption = undefined
PASS table.caption is null

* HTMLTableElement.tHead
PASS table.tHead is null
table.tHead = thead
PASS table.tHead is thead
PASS table.tHead = document.body threw exception TypeError: The HTMLTableElement.tHead attribute must be an instance of HTMLTableSectionElement.
PASS table.tHead is thead
PASS table.tHead = tfoot threw exception HierarchyRequestError: The operation would yield an incorrect node tree..
PASS table.tHead is thead
table.tHead = null
PASS table.tHead is null
table.tHead = thead
PASS table.tHead is thead
table.tHead = undefined
PASS table.tHead is null

* HTMLTableElement.tFoot
PASS table.tFoot is null
table.tFoot = tfoot
PASS table.tFoot is tfoot
PASS table.tFoot = document.body threw exception TypeError: The HTMLTableElement.tFoot attribute must be an instance of HTMLTableSectionElement.
PASS table.tFoot is tfoot
PASS table.tFoot = thead threw exception HierarchyRequestError: The operation would yield an incorrect node tree..
PASS table.tFoot is tfoot
table.tFoot = null
PASS table.tFoot is null
table.tFoot = tfoot
PASS table.tFoot is tfoot
table.tFoot = undefined
PASS table.tFoot is null
PASS successfullyParsed is true

TEST COMPLETE

