This test checks to see what happens if we mark 2 items as selected in a single selection select element.

If The test succeeds one should see 3 lines below the ruller below each containing the word SUCCEEDED in it.


LOAD:SUCCEEDED!
SELECT:SUCCEEDED!
RESET:SUCCEEDED!

