This test verifies that we fire a mousedown event whenever pressing and holding a mouse button A while simultaneously clicking with mouse button B, where A != B.
For each mouse button that is pressed and held, iterates through the possible second mouse buttons that can be clicked.

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

PASS successfullyParsed is true

TEST COMPLETE

PASS received mousedown for the middle mouse button while pressing the left mouse button.
PASS received mousedown for the right mouse button while pressing the left mouse button.

When pressing and holding the "middle mouse button"

PASS received mousedown for the left mouse button while pressing the middle mouse button.
PASS received mousedown for the right mouse button while pressing the middle mouse button.

When pressing and holding the "right mouse button"

PASS received mousedown for the left mouse button while pressing the right mouse button.
PASS received mousedown for the middle mouse button while pressing the right mouse button.

TEST COMPLETE
