Test that a moving Apple Pencil provides stylus information.

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



    touchstart fired.
PASS event.touches.length is 1
PASS event.touches[0].touchType is 'stylus'
PASS event.touches[0].altitudeAngle is within 0.01 of 1
PASS event.touches[0].azimuthAngle is within 0.01 of 2
PASS event.touches[0].force is within 0.01 of 0.5
touchmove fired.
PASS event.touches.length is 1
PASS event.touches[0].touchType is 'stylus'
PASS event.touches[0].altitudeAngle is within 0.01 of 1.1
PASS event.touches[0].azimuthAngle is within 0.01 of 2.1
PASS event.touches[0].force is within 0.01 of 0.6
touchend fired.
PASS successfullyParsed is true

TEST COMPLETE

