Verify that a labeled elemed gets the :active state even if it has no renderer.

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



        Initial state
PASS elementsWithActiveStyle() is []
PASS elementsMatchingActiveSelector() is []
On Mouse Down
PASS elementsWithActiveStyle() is ["#labelable-parent >> label:nth-child(1)", "#next-group >> input:nth-child(1)"]
PASS elementsMatchingActiveSelector() is ["html", "body", "webkit-test", "labelable-ancestor", "labelable-parent", "#labelable-parent >> label:nth-child(1)", "target1", "#next-group >> input:nth-child(1)"]
After Mouse Down
PASS elementsWithActiveStyle() is ["#labelable-parent >> label:nth-child(1)", "#next-group >> input:nth-child(1)"]
PASS elementsMatchingActiveSelector() is ["html", "body", "webkit-test", "labelable-ancestor", "labelable-parent", "#labelable-parent >> label:nth-child(1)", "target1", "#next-group >> input:nth-child(1)"]
On Mouse Up
PASS elementsWithActiveStyle() is []
PASS elementsMatchingActiveSelector() is []
PASS successfullyParsed is true

TEST COMPLETE

