This tests that clicking on indeterminate checkbox flips both checked/indeterminate states and calling preventDefault restores them.

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


Test if clicking on unchecked indeterminate checkbox flips both checked/indeterminate states
PASS cb.checked is true
PASS cb.indeterminate is false
Test if clicking on checked indeterminate checkbox flips both checked/indeterminate states
PASS cb.checked is false
PASS cb.indeterminate is false
Test if preventDefault restores the checked/indeterminate states
PASS cb.checked is true
PASS cb.indeterminate is false
PASS cb.checked is false
PASS cb.indeterminate is true
PASS successfullyParsed is true

TEST COMPLETE

