Make test_simple_js_webengine work correctly

This commit is contained in:
Florian Bruhin 2018-03-27 07:29:43 +02:00
parent 6dbd6d1ddf
commit 2249a88e3a

View File

@ -47,15 +47,32 @@ def test_element_js_webkit(webview, js_enabled, expected):
@pytest.mark.usefixtures('redirect_webengine_data')
@pytest.mark.parametrize('js_enabled, expected', [(True, 2.0), (False, 2.0)])
def test_simple_js_webengine(callback_checker, webengineview, js_enabled,
expected):
@pytest.mark.parametrize('js_enabled, world, expected', [
# main world
(True, 0, 2.0),
(False, 0, None),
# application world
(True, 1, 2.0),
(False, 1, 2.0),
# user world
(True, 2, 2.0),
(False, 2, 2.0),
])
def test_simple_js_webengine(callback_checker, webengineview, qapp,
js_enabled, world, expected):
"""With QtWebEngine, runJavaScript works even when JS is off."""
# If we get there (because of the webengineview fixture) we can be certain
# QtWebEngine is available
from PyQt5.QtWebEngineWidgets import QWebEngineSettings
webengineview.settings().setAttribute(QWebEngineSettings.JavascriptEnabled,
js_enabled)
from PyQt5.QtWebEngineWidgets import QWebEngineSettings, QWebEngineScript
webengineview.page().runJavaScript('1 + 1', callback_checker.callback)
assert world in [QWebEngineScript.MainWorld,
QWebEngineScript.ApplicationWorld,
QWebEngineScript.UserWorld]
settings = webengineview.settings()
settings.setAttribute(QWebEngineSettings.JavascriptEnabled, js_enabled)
qapp.processEvents()
page = webengineview.page()
page.runJavaScript('1 + 1', world, callback_checker.callback)
callback_checker.check(expected)