Tests for how patterns are handled in the Vibration API.

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

PASS navigator.vibrate(newPattern(1, 4)) is true
PASS areArraysEqual(internals.pendingVibrationPattern(navigator), newPattern(1, 3)) is true
PASS internals.isVibrating(navigator) is true
PASS navigator.vibrate(newPattern(1, 99)) is true
PASS areArraysEqual(internals.pendingVibrationPattern(navigator), newPattern(1, 99)) is true
PASS internals.isVibrating(navigator) is true
PASS navigator.vibrate(newPattern(1, 200)) is true
PASS areArraysEqual(internals.pendingVibrationPattern(navigator), newPattern(1, 99)) is true
PASS internals.isVibrating(navigator) is true
PASS successfullyParsed is true

TEST COMPLETE

