Re: Test suite issues

Andrei and I have taken a look through all of the tests and determined
which are valid - those which test features within the scope of the
spec and which do not rely on mocking. Many of the tests are not
valid, mostly because they rely on mocking, which is inappropriate as
discussed previously.

Below is the list of valid tests. Some need significant modification,
generally due to invalid assumptions about when permissions are
requested and all need superfluous calls to setupDevice() removed.

Next I'll make the required changes to the tests and update the
documentation. Lars Erik, is it OK if I update the published version
in SVN directly, or would you like to see a zip first?

Steve


Test 00001: user denies access, check that no success callback is
called and error callback is returned with correct error (and in due
time) (with modification)
Test 00002: user allows access, check that success callback is called
(with modification)
Test 00011: call getCurrentPosition with null success callback, check
if exception
Test 00141 (optional): user asked to approve/remember, then asked to
revoke, then reload. The permission dialogue should reappear. (with
modification)
Test 00142: (optional): user asked to deny/remember, then ask to
revoke, then reload. The permission dialogue should reappear (with
modification)
Test 00026: check for window.* [Navigator object] has a 'geolocation'
member which is an instance of class NavigatorGeolocation.
Test 00027: call getCurrentPosition() without arguments. Exception expected.
Test 00028: call getCurrentPosition() with wrong type for first
argument. Exception expected.
Test 00029: call getCurrentPosition() with wrong type for second
argument. Exception expected.
Test 00130: call watchPosition() without arguments. Exception expected.
Test 00131: call watchPosition() with wrong type for first argument.
Exception expected.
Test 00132: call watchPosition() with wrong type for second argument.
Exception expected.
Test 00031: pass if getCurrentPosition returns withing 100ms (with modification)
Test 00099: set the device to return a preset latitude, longitude and
accuracy, and check that the API returns same values (with
modification)
Test 00058: call watchPosition() without arguments
Test 00059: call watchPosition() with wrong type for first argument.
Test 00060: call watchPosition() with wrong type for second argument.
Test 00062: check that watchPosition returns a long, immediately.
Test 00080: Test clearWatch with wrong identifier, fail if more than 1
call to the same clearWatch
Test 00123: call getCurrentPosition with wrong type for
enableHighAccuracy. No error expected. (can expand)
Test 00086: set timeout and maximumAge to 0, check that timeout error
raised (getCurrentPosition)
Test 00088: set timeout and maximumAge to 0, check that timeout error
raised (watchPosition)
Test 00091: check that a negative timeout value is equivalent to a 0
timeout value (getCurrentLocation)
Test 00092: check that a negative timeout value is equivalent to a 0
timeout value (watchPosition)
Test 00095: check existence of timestamp attribute, and correct type
Test 00143: check that heading is NaN when speed is 0
Test 00108: check that the error type exists and that its attributes
have the right numeric value
Test 00116 fire many getCurrentPosition, count callbacks
Test 00118 uniqueness of watchPosition id values (call function many
times, check collisions)
Test 00119 callbacks recursively calling getCurrentPosition
Test 00120 callbacks recursively calling watchPosition

-- 
Google UK Limited
Registered Office: Belgrave House, 76 Buckingham Palace Road, London SW1W 9TQ
Registered in England Number: 3977902

Received on Saturday, 12 February 2011 02:16:26 UTC