Tests wheel event dispatching for gesture events.

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


Test that wheel events are not dispatched if gesture events are not preventDefault.

Dispatching 'gesturestart'...
Handling 'gesturestart' event at (59, 59)...
Handling 'wheel' event at (59, 59)...
PASS event.ctrlKey is true
PASS event.deltaY is within 0.01 of -1

Dispatching 'gesturechange'...
Handling 'gesturechange' event at (59, 59)...
Handling 'wheel' event at (59, 59)...
PASS event.ctrlKey is true
PASS event.deltaY is within 0.01 of -2

Dispatching 'gesturechange'...
Handling 'gesturechange' event at (59, 59)...
Handling 'wheel' event at (59, 59)...
PASS event.ctrlKey is true
PASS event.deltaY is within 0.01 of -3

Dispatching 'gestureend'...
Handling 'gestureend' event at (59, 59)...
Handling 'wheel' event at (59, 59)...
PASS event.ctrlKey is true
PASS event.deltaY is within 0.01 of -4

Test that wheel events are not dispatched if gesture events are preventDefault.

Dispatching 'gesturestart'...
Handling 'gesturestart' event at (59, 59)...
Calling `preventDefault`...
PASS didDispatchWheel is false

Dispatching 'gesturechange'...
Handling 'gesturechange' event at (59, 59)...
Calling `preventDefault`...
PASS didDispatchWheel is false

Dispatching 'gesturechange'...
Handling 'gesturechange' event at (59, 59)...
Calling `preventDefault`...
PASS didDispatchWheel is false

Dispatching 'gestureend'...
Handling 'gestureend' event at (59, 59)...
Calling `preventDefault`...
PASS didDispatchWheel is false

PASS successfullyParsed is true

TEST COMPLETE

