The selector :nth-last-child() should fail to match if the following sibling have not been parsed yet.

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


Testing the state in the middle of HTML parsing.
PASS document.querySelectorAll("target:nth-last-child(n)").length is 0
PASS getComputedStyle(document.getElementById("target")).backgroundColor is "rgb(255, 255, 255)"
Testing the state after parsing the test sub-tree.
PASS document.querySelectorAll("target:nth-last-child(n)").length is 2
PASS getComputedStyle(document.getElementById("target")).backgroundColor is "rgb(1, 2, 3)"
PASS successfullyParsed is true

TEST COMPLETE

