An excerpt from an early Acid3 test 65: construct a table, and see if the table is as expected

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


PASS table.tBodies[0].rows[0].rowIndex is 0
PASS table.tBodies[0].rows[0].sectionRowIndex is 0
PASS table.childNodes.length is 3
PASS !!table.caption is true
PASS !!table.tHead is true
PASS table.tFoot is null
PASS table.tBodies.length is 1
PASS table.rows.length is 1
PASS tr1.parentNode is null
PASS table.caption is table.createCaption()
PASS table.tFoot is null
PASS table.tHead is table.createTHead()
PASS table.createTFoot() is table.tFoot
PASS table.rows[0] is table.tHead.firstChild
PASS table.rows.length is 2
PASS table.rows[1] is table.tBodies[0].firstChild
PASS successfullyParsed is true

TEST COMPLETE

