summaryrefslogtreecommitdiff
path: root/tests/qml/WebChannelTest.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/qml/WebChannelTest.qml')
-rw-r--r--tests/qml/WebChannelTest.qml67
1 files changed, 35 insertions, 32 deletions
diff --git a/tests/qml/WebChannelTest.qml b/tests/qml/WebChannelTest.qml
index b3121d3..59a0cab 100644
--- a/tests/qml/WebChannelTest.qml
+++ b/tests/qml/WebChannelTest.qml
@@ -43,8 +43,6 @@ import QtQuick 2.0
import QtTest 1.0
import QtWebChannel 1.0
-import QtWebKit 3.0
-import QtWebKit.experimental 1.0
TestCase {
property var lastLoadStatus
@@ -55,32 +53,15 @@ TestCase {
WebViewTransport {
id: webViewTransport
- webViewExperimental: view.experimental
+ webViewExperimental: defaultView.experimental
}
WebSocketTransport {
id: webSocketTransport
}
- WebView {
- id: view
-
- experimental.preferences.developerExtrasEnabled: true
- experimental.preferences.navigatorQtObjectEnabled: true
-
- onLoadingChanged: {
- // NOTE: we cannot use spy.signalArguments nor save the loadRequest anywhere, as it gets
- // deleted after the slots connected to the signal have finished... i.e. it's a weak pointer,
- // not a shared pointer. As such, we have to copy out the interesting data we need later on here...
- lastLoadStatus = loadRequest.status
- }
-
- SignalSpy {
- id: loadingSpy
- target: view
- signalName: "onLoadingChanged"
- }
+ TestWebView {
+ id: defaultView
}
- property var view: view
WebChannel {
id: webChannel
@@ -95,7 +76,14 @@ TestCase {
property var rawMessageSpy: rawMessageSpy
property var rawMessageIdx: 0;
- function loadUrl(url)
+ function urlForFile(file)
+ {
+ verify(useWebViewTransport || webSocketTransport.baseUrl != "", "webSocketTransport.baseUrl is empty");
+ return "data/" + file + (!useWebViewTransport ? "?webChannelBaseUrl=" + webSocketTransport.baseUrl : "");
+ }
+
+ // load file in the given view or use the global one by default
+ function loadUrl(file, view)
{
if (useWebViewTransport) {
webChannel.disconnectFrom(webSocketTransport);
@@ -104,19 +92,16 @@ TestCase {
webChannel.disconnectFrom(webViewTransport);
webChannel.connectTo(webSocketTransport);
}
- verify(useWebViewTransport || webSocketTransport.baseUrl != "", "webSocketTransport.baseUrl is empty");
- view.url = "data/" + url + (!useWebViewTransport ? "?webChannelBaseUrl=" + webSocketTransport.baseUrl : "");
- // now wait for page to finish loading
- do {
- loadingSpy.wait(500);
- } while (view.loading);
- compare(lastLoadStatus, WebView.LoadSucceededStatus);
+ if (!view) {
+ view = defaultView;
+ }
+ view.url = urlForFile(file);
+ view.waitForLoaded();
}
function cleanup()
{
- view.url = "";
- loadingSpy.clear();
+ defaultView.clear();
rawMessageSpy.clear();
rawMessageIdx = 0;
}
@@ -139,4 +124,22 @@ TestCase {
}
return JSON.parse(msg);
}
+
+ function awaitInit()
+ {
+ var msg = awaitMessage();
+ verify(msg);
+ verify(msg.data);
+ verify(msg.data.type);
+ compare(msg.data.type, "Qt.init");
+ }
+
+ function awaitIdle()
+ {
+ var msg = awaitMessage();
+ verify(msg);
+ verify(msg.data);
+ compare(msg.data.type, "Qt.idle");
+ verify(webChannel.test_clientIsIdle())
+ }
}