An excerpt from an early Acid3 test 66: test the ordering and creation of rows

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


PASS table.rows.length is 6
PASS table.getElementsByTagName('tr').length is 6
PASS table.childNodes.length is 3
PASS table.tHead is table.childNodes[0]
PASS table.tHead.childNodes[0] is table.getElementsByTagName('tr')[0]
PASS table.tHead.childNodes[1] is table.getElementsByTagName('tr')[1]
PASS rows[2] is table.getElementsByTagName('tr')[1]
PASS table.tHead.childNodes[2] is table.getElementsByTagName('tr')[2]
PASS rows[3] is table.getElementsByTagName('tr')[2]
PASS table.tFoot is table.childNodes[1]
PASS table.tFoot.childNodes[0] is table.getElementsByTagName('tr')[3]
PASS rows[0] is table.getElementsByTagName('tr')[3]
PASS table.tFoot.childNodes[1] is table.getElementsByTagName('tr')[4]
PASS rows[6] is table.getElementsByTagName('tr')[4]
PASS table.childNodes[2] is table.getElementsByTagName('tr')[5]
PASS rows[1] is table.getElementsByTagName('tr')[5]
PASS table.tBodies.length is 0
PASS successfullyParsed is true

TEST COMPLETE

