This test checks the implementation of the ElementTraversal API.

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


Test with no children
PASS noChildren.firstElementChild is null
PASS noChildren.lastElementChild is null
PASS noChildren.previousElementSibling is null
PASS noChildren.nextElementSibling is null
PASS noChildren.childElementCount is 0
Test with no element children
PASS noElementChildren.firstElementChild is null
PASS noElementChildren.lastElementChild is null
PASS noElementChildren.previousElementSibling is null
PASS noElementChildren.nextElementSibling is null
PASS noElementChildren.childElementCount is 0
Test with elements
PASS children.firstElementChild is first
PASS children.lastElementChild is last
PASS first.nextElementSibling is last
PASS first.nextElementSibling.nextElementSibling is null
PASS last.previousElementSibling is first
PASS last.previousElementSibling.previousElementSibling is null
PASS children.childElementCount is 2
PASS successfullyParsed is true

TEST COMPLETE

