| OLD | NEW |
| 1 description("Tests that when a watch times out and is cleared from the error cal
lback, there is no crash. This a regression test for https://bugs.webkit.org/sho
w_bug.cgi?id=32111."); | 1 description("Tests that when a watch times out and is cleared from the error cal
lback, there is no crash. This a regression test for https://bugs.webkit.org/sho
w_bug.cgi?id=32111."); |
| 2 | 2 |
| 3 if (!window.testRunner || !window.internals) | 3 if (!window.testRunner || !window.mojo) |
| 4 debug('This test can not run without testRunner or internals'); | 4 debug('This test can not run without testRunner or mojo'); |
| 5 | |
| 6 internals.setGeolocationClientMock(document); | |
| 7 internals.setGeolocationPosition(document, 51.478, -0.166, 100.0); | |
| 8 | 5 |
| 9 var error; | 6 var error; |
| 10 var watchId = navigator.geolocation.watchPosition(function() { | 7 |
| 11 testFailed('Success callback invoked unexpectedly'); | 8 geolocationServiceMock.then(mock => { |
| 12 finishJSTest(); | 9 mock.setGeolocationPosition(51.478, -0.166, 100.0); |
| 13 }, function(e) { | 10 |
| 14 error = e; | 11 var watchId = navigator.geolocation.watchPosition(function() { |
| 15 shouldBe('error.code', 'error.TIMEOUT'); | 12 testFailed('Success callback invoked unexpectedly'); |
| 16 shouldBe('error.message', '"Timeout expired"'); | 13 finishJSTest(); |
| 17 navigator.geolocation.clearWatch(watchId); | 14 }, function(e) { |
| 18 window.setTimeout(finishJSTest, 0); | 15 error = e; |
| 19 }, { | 16 shouldBe('error.code', 'error.TIMEOUT'); |
| 20 timeout: 0 | 17 shouldBe('error.message', '"Timeout expired"'); |
| 18 navigator.geolocation.clearWatch(watchId); |
| 19 window.setTimeout(finishJSTest, 0); |
| 20 }, { |
| 21 timeout: 0 |
| 22 }); |
| 21 }); | 23 }); |
| 22 | 24 |
| 23 | |
| 24 window.jsTestIsAsync = true; | 25 window.jsTestIsAsync = true; |
| OLD | NEW |