This test verifies that checking items in a single-select menu with option groups does not leave behind checked select items. To manually run the test using iPhone, focus the select element, scroll down to the bottom, select an option, then scroll back up to the top. The first option ('One') should not appear checked.

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


PASS hasCheckedItemAtIndex0 is false
PASS hasCheckedItemAtIndex13 is true
PASS successfullyParsed is true

TEST COMPLETE

