Tests that watchPosition correctly reports position updates and errors from the Geolocation service.

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

PASS position.coords.latitude is mockLatitude
PASS position.coords.longitude is mockLongitude
PASS position.coords.accuracy is mockAccuracy


PASS position.coords.latitude is mockLatitude
PASS position.coords.longitude is mockLongitude
PASS position.coords.accuracy is mockAccuracy


PASS error.code is error.POSITION_UNAVAILABLE
PASS error.message is mockMessage


PASS position.coords.latitude is mockLatitude
PASS position.coords.longitude is mockLongitude
PASS position.coords.accuracy is mockAccuracy


PASS successfullyParsed is true

TEST COMPLETE

