diff options
Diffstat (limited to 'tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp')
-rw-r--r-- | tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp index df290babf..622a77ef3 100644 --- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp +++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp @@ -421,9 +421,14 @@ void tst_QWebEnginePage::geolocationRequestJS() W_QSKIP("Geolocation is not supported.", SkipSingle); } - evaluateJavaScriptSync(newPage, "var errorCode = 0; function error(err) { errorCode = err.code; } function success(pos) { } navigator.geolocation.getCurrentPosition(success, error)"); + evaluateJavaScriptSync(newPage, "var errorCode = 0; var done = false; function error(err) { errorCode = err.code; done = true; } function success(pos) { done = true; } navigator.geolocation.getCurrentPosition(success, error)"); + + QTRY_VERIFY(evaluateJavaScriptSync(newPage, "done").toBool()); + int result = evaluateJavaScriptSync(newPage, "errorCode").toInt(); + if (result == 2) + QEXPECT_FAIL("", "No location service available.", Continue); + QCOMPARE(result, errorCode); - QTRY_COMPARE(evaluateJavaScriptSync(newPage, "errorCode").toInt(), errorCode); delete view; } |