summaryrefslogtreecommitdiff
path: root/tests/qml
diff options
context:
space:
mode:
authorMilian Wolff <milian.wolff@kdab.com>2014-07-02 16:03:37 +0200
committerMilian Wolff <milian.wolff@kdab.com>2014-07-03 13:44:42 +0200
commit5418f5795e2fd657efa3ceede749228c1e10d25c (patch)
tree0d3109f25ab416befbaa44ba26f1380d64b30db6 /tests/qml
parent3c1884f15ed1120bf36efb918cad0bcb461d5193 (diff)
downloadqtwebchannel-5418f5795e2fd657efa3ceede749228c1e10d25c.tar.gz
Add cmake test, adapt test directory layout and point to dev branches.
The auto tests are now located in tests/auto instead of directly in tests/. This is required to ensure the cmake test is found. Furthermore, the sync.profile is updated to point to refs/heads/dev, as we target Qt 5.4 with this new module. Change-Id: I1e6e99968b7081b5774eaf30319cac1fbaed35c2 Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Diffstat (limited to 'tests/qml')
-rw-r--r--tests/qml/TestWebView.qml81
-rw-r--r--tests/qml/WebChannelTest.qml157
-rw-r--r--tests/qml/data/bench_init.html13
-rw-r--r--tests/qml/data/disconnect.html21
-rw-r--r--tests/qml/data/grouping.html17
-rw-r--r--tests/qml/data/method.html17
-rw-r--r--tests/qml/data/multiclient.html19
-rw-r--r--tests/qml/data/property.html21
-rw-r--r--tests/qml/data/receiveRaw.html15
-rw-r--r--tests/qml/data/send.html17
-rw-r--r--tests/qml/data/signal.html17
-rw-r--r--tests/qml/data/testsetup.js47
-rw-r--r--tests/qml/data/wrapper.html28
-rw-r--r--tests/qml/qml.cpp44
-rw-r--r--tests/qml/qml.pro19
-rw-r--r--tests/qml/tst_bench.qml123
-rw-r--r--tests/qml/tst_metaobjectpublisher.qml272
-rw-r--r--tests/qml/tst_multiclient.qml99
-rw-r--r--tests/qml/tst_webchannel.qml59
19 files changed, 0 insertions, 1086 deletions
diff --git a/tests/qml/TestWebView.qml b/tests/qml/TestWebView.qml
deleted file mode 100644
index 3b12f38..0000000
--- a/tests/qml/TestWebView.qml
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff <milian.wolff@kdab.com>
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the QtWebChannel module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtTest 1.0
-
-import QtWebKit 3.0
-import QtWebKit.experimental 1.0
-
-WebView {
- id: view
- property var lastLoadStatus
-
- 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"
- }
-
- function waitForLoaded()
- {
- do {
- loadingSpy.wait(500);
- } while (loading);
- return lastLoadStatus == WebView.LoadSucceededStatus;
- }
-
- function clear()
- {
- url = "";
- loadingSpy.clear()
- }
-}
diff --git a/tests/qml/WebChannelTest.qml b/tests/qml/WebChannelTest.qml
deleted file mode 100644
index 9a0baa9..0000000
--- a/tests/qml/WebChannelTest.qml
+++ /dev/null
@@ -1,157 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff <milian.wolff@kdab.com>
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the QtWebChannel module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtTest 1.0
-
-import QtWebChannel 1.0
-
-TestCase {
- property var lastLoadStatus
- property bool useWebViewTransport: false
-
- // only run after the webchannel has finished initialization
- when: webSocketTransport.baseUrl != ""
-
- WebViewTransport {
- id: webViewTransport
- webViewExperimental: defaultView.experimental
- }
- WebSocketTransport {
- id: webSocketTransport
- }
-
- TestWebView {
- id: defaultView
- }
-
- WebChannel {
- id: webChannel
- }
- property var webChannel: webChannel
-
- SignalSpy {
- id: rawMessageSpy
- target: useWebViewTransport ? webViewTransport : webSocketTransport;
- signalName: "onMessageReceived"
- }
- property var rawMessageSpy: rawMessageSpy
- property var rawMessageIdx: 0;
-
- 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);
- webChannel.connectTo(webViewTransport);
- } else {
- webChannel.disconnectFrom(webViewTransport);
- webChannel.connectTo(webSocketTransport);
- }
- if (!view) {
- view = defaultView;
- }
- view.url = urlForFile(file);
- view.waitForLoaded();
- }
-
- function cleanup()
- {
- defaultView.clear();
- rawMessageSpy.clear();
- rawMessageIdx = 0;
- }
-
- function awaitRawMessage()
- {
- rawMessageSpy.wait(500);
- if (rawMessageSpy.signalArguments.length <= rawMessageIdx) {
- // still no message received, fail
- return null;
- }
- return rawMessageSpy.signalArguments[rawMessageIdx++][0];
- }
-
- function awaitMessage()
- {
- var msg = awaitRawMessage()
- if (!msg) {
- return msg;
- }
- return JSON.parse(msg);
- }
-
- function awaitInit()
- {
- var msg = awaitMessage();
- verify(msg);
- verify(msg.data);
- verify(msg.data.type);
- compare(msg.data.type, qWebChannelMessageTypes.init);
- }
-
- function awaitIdle()
- {
- var msg = awaitMessage();
- verify(msg);
- verify(msg.data);
- compare(msg.data.type, qWebChannelMessageTypes.idle);
- verify(webChannel.test_clientIsIdle())
- }
-
- property var qWebChannelMessageTypes: ({
- signal: 1,
- propertyUpdate: 2,
- init: 3,
- idle: 4,
- debug: 5,
- invokeMethod: 6,
- connectToSignal: 7,
- disconnectFromSignal: 8,
- setProperty: 9,
- });
-}
diff --git a/tests/qml/data/bench_init.html b/tests/qml/data/bench_init.html
deleted file mode 100644
index 7d3af5b..0000000
--- a/tests/qml/data/bench_init.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html>
- <head>
- <script type="text/javascript" src="qrc:///qwebchannel/qwebchannel.js"></script>
- <script type="text/javascript" src="testsetup.js"></script>
- <script type="text/javascript">
- //BEGIN SETUP
- createWebChannel(function(channel) {});
- //END SETUP
- </script>
- </head>
- <body>
- </body>
-</html>
diff --git a/tests/qml/data/disconnect.html b/tests/qml/data/disconnect.html
deleted file mode 100644
index a9a479c..0000000
--- a/tests/qml/data/disconnect.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<html>
- <head>
- <script type="text/javascript" src="qrc:///qwebchannel/qwebchannel.js"></script>
- <script type="text/javascript" src="testsetup.js"></script>
- <script type="text/javascript">
- //BEGIN SETUP
- createWebChannel(function(channel) {
- myObj.mySignal.connect(function(arg) {
- channel.exec({label: "mySignalReceived", args: [arg]});
- myObj.mySignal.disconnect(this);
- });
- channel.subscribe("report", function() {
- channel.exec({label: "report"});
- });
- });
- //END SETUP
- </script>
- </head>
- <body>
- </body>
-</html>
diff --git a/tests/qml/data/grouping.html b/tests/qml/data/grouping.html
deleted file mode 100644
index f2d7aec..0000000
--- a/tests/qml/data/grouping.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<html>
- <head>
- <script type="text/javascript" src="qrc:///qwebchannel/qwebchannel.js"></script>
- <script type="text/javascript" src="testsetup.js"></script>
- <script type="text/javascript">
- //BEGIN SETUP
- window.channel = createWebChannel(function(channel) {
- channel.subscribe(QWebChannelMessageTypes.propertyUpdate, function() {
- channel.exec({label: "gotPropertyUpdate", values: [myObj.myProperty(), myOtherObj.foo(), myOtherObj.bar()]});
- });
- });
- //END SETUP
- </script>
- </head>
- <body>
- </body>
-</html>
diff --git a/tests/qml/data/method.html b/tests/qml/data/method.html
deleted file mode 100644
index 6dbaa90..0000000
--- a/tests/qml/data/method.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<html>
- <head>
- <script type="text/javascript" src="qrc:///qwebchannel/qwebchannel.js"></script>
- <script type="text/javascript" src="testsetup.js"></script>
- <script type="text/javascript">
- //BEGIN SETUP
- createWebChannel(function(channel) {
- channel.subscribe("invokeMethod", function(arg) {
- myObj.myMethod(arg);
- });
- });
- //END SETUP
- </script>
- </head>
- <body>
- </body>
-</html>
diff --git a/tests/qml/data/multiclient.html b/tests/qml/data/multiclient.html
deleted file mode 100644
index 1573a1a..0000000
--- a/tests/qml/data/multiclient.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<html>
- <head>
- <script type="text/javascript" src="qrc:///qwebchannel/qwebchannel.js"></script>
- <script type="text/javascript" src="testsetup.js"></script>
- <script type="text/javascript">
- //BEGIN SETUP
- createWebChannel(function(channel) {
- foo.ping.connect(function() {
- foo.pong(function(value) {
- channel.exec({pongAnswer: value});
- });
- });
- });
- //END SETUP
- </script>
- </head>
- <body>
- </body>
-</html>
diff --git a/tests/qml/data/property.html b/tests/qml/data/property.html
deleted file mode 100644
index 9565aaa..0000000
--- a/tests/qml/data/property.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<html>
- <head>
- <script type="text/javascript" src="qrc:///qwebchannel/qwebchannel.js"></script>
- <script type="text/javascript" src="testsetup.js"></script>
- <script type="text/javascript">
- //BEGIN SETUP
- createWebChannel(function(channel) {
- channel.exec({label: "init", value: myObj.myProperty()});
- myObj.myPropertyChanged.connect(function() {
- channel.exec({label: "changed", value: myObj.myProperty()});
- });
- channel.subscribe("setProperty", function(newValue) {
- myObj.myProperty = newValue;
- });
- });
- //END SETUP
- </script>
- </head>
- <body>
- </body>
-</html>
diff --git a/tests/qml/data/receiveRaw.html b/tests/qml/data/receiveRaw.html
deleted file mode 100644
index 139b2b1..0000000
--- a/tests/qml/data/receiveRaw.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html>
- <head>
- <script type="text/javascript" src="qrc:///qwebchannel/qwebchannel.js"></script>
- <script type="text/javascript" src="testsetup.js"></script>
- <script type="text/javascript">
- //BEGIN SETUP
- createWebChannel(function(channel) {
- channel.send("foobar");
- }, true /* raw */);
- //END SETUP
- </script>
- </head>
- <body>
- </body>
-</html>
diff --git a/tests/qml/data/send.html b/tests/qml/data/send.html
deleted file mode 100644
index c60fbf4..0000000
--- a/tests/qml/data/send.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<html>
- <head>
- <script type="text/javascript" src="qrc:///qwebchannel/qwebchannel.js"></script>
- <script type="text/javascript" src="testsetup.js"></script>
- <script type="text/javascript">
- //BEGIN SETUP
- createWebChannel(function(channel) {
- channel.subscribe("myMessage", function(payload) {
- channel.send("myMessagePong:" + payload);
- });
- }, true /* raw */);
- //END SETUP
- </script>
- </head>
- <body>
- </body>
-</html>
diff --git a/tests/qml/data/signal.html b/tests/qml/data/signal.html
deleted file mode 100644
index bdce0c7..0000000
--- a/tests/qml/data/signal.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<html>
- <head>
- <script type="text/javascript" src="qrc:///qwebchannel/qwebchannel.js"></script>
- <script type="text/javascript" src="testsetup.js"></script>
- <script type="text/javascript">
- //BEGIN SETUP
- createWebChannel(function(channel) {
- myObj.mySignal.connect(function(arg) {
- channel.exec({label: "signalReceived", value: arg});
- });
- });
- //END SETUP
- </script>
- </head>
- <body>
- </body>
-</html>
diff --git a/tests/qml/data/testsetup.js b/tests/qml/data/testsetup.js
deleted file mode 100644
index c0db83a..0000000
--- a/tests/qml/data/testsetup.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff <milian.wolff@kdab.com>
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the QtWebChannel module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-window.createWebChannel = function(callback, raw)
-{
- var baseUrlMatch = /[?&]webChannelBaseUrl=([A-Za-z0-9\-:/\.]+)/.exec(location.search);
- var transport = baseUrlMatch ? baseUrlMatch[1] : navigator.qt;
- return new QWebChannel(transport, callback, raw);
-}
diff --git a/tests/qml/data/wrapper.html b/tests/qml/data/wrapper.html
deleted file mode 100644
index a556486..0000000
--- a/tests/qml/data/wrapper.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<html>
- <head>
- <script type="text/javascript" src="qrc:///qwebchannel/qwebchannel.js"></script>
- <script type="text/javascript" src="testsetup.js"></script>
- <script type="text/javascript">
- //BEGIN SETUP
- createWebChannel(function(channel) {
- myFactory.create("testObj", function(obj) {
- window[obj.objectName()] = obj;
- obj.mySignal.connect(function(arg1, arg2) {
- channel.exec({label: "signalReceived", args: [arg1, arg2]});
- });
- obj.myProperty = 42;
- obj.myMethod("foobar");
- });
- channel.subscribe("triggerDelete", function() {
- testObj.deleteLater();
- });
- channel.subscribe("report", function() {
- channel.exec({label:"report", obj: testObj})
- });
- });
- //END SETUP
- </script>
- </head>
- <body>
- </body>
-</html>
diff --git a/tests/qml/qml.cpp b/tests/qml/qml.cpp
deleted file mode 100644
index 7267842..0000000
--- a/tests/qml/qml.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff <milian.wolff@kdab.com>
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the QtWebChannel module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtQuickTest/quicktest.h>
-
-QUICK_TEST_MAIN(qml)
diff --git a/tests/qml/qml.pro b/tests/qml/qml.pro
deleted file mode 100644
index 4a68cd1..0000000
--- a/tests/qml/qml.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-QT += testlib webchannel
-TEMPLATE = app
-TARGET = qml
-
-CONFIG += warn_on qmltestcase
-
-# TODO: running tests without requiring make install
-IMPORTPATH += $$OUT_PWD/../../qml $$PWD
-
-SOURCES += \
- qml.cpp
-
-OTHER_FILES += \
- WebChannelTest.qml \
- tst_webchannel.qml \
- tst_metaobjectpublisher.qml \
- tst_bench.qml
-
-TESTDATA = data/*
diff --git a/tests/qml/tst_bench.qml b/tests/qml/tst_bench.qml
deleted file mode 100644
index 056dda9..0000000
--- a/tests/qml/tst_bench.qml
+++ /dev/null
@@ -1,123 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff <milian.wolff@kdab.com>
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the QtWebChannel module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-import QtWebChannel 1.0
-
-WebChannelTest {
- name: "Bench"
- id: test
-
- Component {
- id: component
- QtObject {
- property var p0 : 0
- property var p1 : 0
- property var p2 : 0
- property var p3 : 0
- property var p4 : 0
- property var p5 : 0
- property var p6 : 0
- property var p7 : 0
- property var p8 : 0
- property var p9 : 0
- function m0(arg1, arg2) {}
- function m1(arg1, arg2) {}
- function m2(arg1, arg2) {}
- function m3(arg1, arg2) {}
- function m4(arg1, arg2) {}
- function m5(arg1, arg2) {}
- function m6(arg1, arg2) {}
- function m7(arg1, arg2) {}
- function m8(arg1, arg2) {}
- function m9(arg1, arg2) {}
- signal s0(var arg1, var arg2)
- signal s1(var arg1, var arg2)
- signal s2(var arg1, var arg2)
- signal s3(var arg1, var arg2)
- signal s4(var arg1, var arg2)
- signal s5(var arg1, var arg2)
- signal s6(var arg1, var arg2)
- signal s7(var arg1, var arg2)
- signal s8(var arg1, var arg2)
- signal s9(var arg1, var arg2)
- }
- }
-
- property var objects: ({})
-
- function initTestCase()
- {
- for (var i = 0; i < 100; ++i) {
- var id = "obj" + i;
- var properties = {objectName: id};
- objects[id] = component.createObject(test, properties);
- }
-
- webChannel.registerObjects(objects);
- }
-
- function benchmark_init_baseline()
- {
- loadUrl("bench_init.html");
- }
-
- function benchmark_init_webview()
- {
- useWebViewTransport = true;
- loadUrl("bench_init.html");
- // init
- awaitMessage();
- // idle
- awaitMessage();
- }
-
- function benchmark_init_websocket()
- {
- useWebViewTransport = false;
- loadUrl("bench_init.html");
- // init
- awaitMessage();
- // idle
- awaitMessage();
- }
-}
diff --git a/tests/qml/tst_metaobjectpublisher.qml b/tests/qml/tst_metaobjectpublisher.qml
deleted file mode 100644
index e07f105..0000000
--- a/tests/qml/tst_metaobjectpublisher.qml
+++ /dev/null
@@ -1,272 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff <milian.wolff@kdab.com>
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the QtWebChannel module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-import QtWebChannel 1.0
-
-WebChannelTest {
- name: "MetaObjectPublisher"
- id: test
-
- property var lastMethodArg
-
- QtObject {
- id: myObj
- property int myProperty: 1
-
- signal mySignal(var arg)
-
- function myMethod(arg)
- {
- lastMethodArg = arg;
- }
-
- WebChannel.id: "myObj"
- }
- QtObject {
- id: myOtherObj
- property var foo: 1
- property var bar: 1
- WebChannel.id: "myOtherObj"
- }
- QtObject {
- id: myFactory
- property var lastObj
- function create(id)
- {
- lastObj = component.createObject(myFactory, {objectName: id});
- return lastObj;
- }
- WebChannel.id: "myFactory"
- }
-
- Component {
- id: component
- QtObject {
- property var myProperty : 0
- function myMethod(arg) {
- mySignal(arg, myProperty);
- }
- signal mySignal(var arg1, var arg2)
- }
- }
-
- function initTestCase()
- {
- webChannel.registeredObjects = [myObj, myOtherObj, myFactory];
- }
-
- function awaitMessageSkipIdle()
- {
- var msg;
- do {
- msg = awaitMessage();
- verify(msg);
- verify(msg.data);
- } while (msg.data.type === qWebChannelMessageTypes.idle);
- return msg;
- }
-
- function test_property()
- {
- myObj.myProperty = 1
- loadUrl("property.html");
- awaitInit();
- var msg = awaitMessageSkipIdle();
- compare(msg.data.label, "init");
- compare(msg.data.value, 1);
- compare(myObj.myProperty, 1);
-
- // change property, should be propagated to HTML client and a message be send there
- myObj.myProperty = 2;
- msg = awaitMessageSkipIdle();
- compare(msg.data.label, "changed");
- compare(msg.data.value, 2);
- compare(myObj.myProperty, 2);
-
- // now trigger a write from the client side
- webChannel.sendMessage("setProperty", 3);
- msg = awaitMessageSkipIdle();
- compare(myObj.myProperty, 3);
-
- // the above write is also propagated to the HTML client
- msg = awaitMessageSkipIdle();
- compare(msg.data.label, "changed");
- compare(msg.data.value, 3);
-
- awaitIdle();
- }
-
- function test_method()
- {
- loadUrl("method.html");
- awaitInit();
- awaitIdle();
-
- webChannel.sendMessage("invokeMethod", "test");
-
- var msg = awaitMessage();
- compare(msg.data.type, qWebChannelMessageTypes.invokeMethod);
- compare(msg.data.object, "myObj");
- compare(msg.data.args, ["test"]);
-
- compare(lastMethodArg, "test")
- }
-
- function test_signal()
- {
- loadUrl("signal.html");
- awaitInit();
-
- var msg = awaitMessage();
- compare(msg.data.type, qWebChannelMessageTypes.connectToSignal);
- compare(msg.data.object, "myObj");
-
- awaitIdle();
-
- myObj.mySignal("test");
-
- msg = awaitMessage();
- compare(msg.data.label, "signalReceived");
- compare(msg.data.value, "test");
- }
-
- function test_grouping()
- {
- loadUrl("grouping.html");
- awaitInit();
- awaitIdle();
-
- // change properties a lot, we expect this to be grouped into a single update notification
- for (var i = 0; i < 10; ++i) {
- myObj.myProperty = i;
- myOtherObj.foo = i;
- myOtherObj.bar = i;
- }
-
- var msg = awaitMessage();
- verify(msg);
- compare(msg.data.label, "gotPropertyUpdate");
- compare(msg.data.values, [myObj.myProperty, myOtherObj.foo, myOtherObj.bar]);
-
- awaitIdle();
- }
-
- function test_wrapper()
- {
- loadUrl("wrapper.html");
- awaitInit();
-
- var msg = awaitMessageSkipIdle();
- compare(msg.data.type, qWebChannelMessageTypes.invokeMethod);
- compare(msg.data.object, "myFactory");
- verify(myFactory.lastObj);
- compare(myFactory.lastObj.objectName, "testObj");
-
- msg = awaitMessageSkipIdle();
- compare(msg.data.type, qWebChannelMessageTypes.connectToSignal);
- verify(msg.data.object);
- var objId = msg.data.object;
-
- msg = awaitMessageSkipIdle();
- compare(msg.data.type, qWebChannelMessageTypes.connectToSignal);
- compare(msg.data.object, objId);
-
- msg = awaitMessageSkipIdle();
- compare(msg.data.type, qWebChannelMessageTypes.setProperty);
- compare(msg.data.object, objId);
- compare(myFactory.lastObj.myProperty, 42);
-
- msg = awaitMessageSkipIdle();
- compare(msg.data.type, qWebChannelMessageTypes.invokeMethod);
- compare(msg.data.object, objId);
- compare(msg.data.args, ["foobar"]);
-
- msg = awaitMessageSkipIdle();
- compare(msg.data.label, "signalReceived");
- compare(msg.data.args, ["foobar", 42]);
-
- // pass QObject* on the fly and trigger deleteLater from client side
- webChannel.sendMessage("triggerDelete");
-
- msg = awaitMessageSkipIdle();
- compare(msg.data.type, qWebChannelMessageTypes.invokeMethod);
- compare(msg.data.object, objId);
-
- webChannel.sendMessage("report");
-
- msg = awaitMessageSkipIdle();
- compare(msg.data.label, "report");
- compare(msg.data.obj, {});
- }
-
- function test_disconnect()
- {
- loadUrl("disconnect.html");
- awaitInit();
-
- var msg = awaitMessage();
- compare(msg.data.type, qWebChannelMessageTypes.connectToSignal);
- compare(msg.data.object, "myObj");
-
- awaitIdle();
-
- myObj.mySignal(42);
-
- msg = awaitMessage();
- compare(msg.data.label, "mySignalReceived");
- compare(msg.data.args, [42]);
-
- msg = awaitMessage();
- compare(msg.data.type, qWebChannelMessageTypes.disconnectFromSignal);
- compare(msg.data.object, "myObj");
-
- myObj.mySignal(0);
-
- // apparently one cannot expect failure in QML, so trigger another message
- // and verify no mySignalReceived was triggered by the above emission
- webChannel.sendMessage("report");
-
- msg = awaitMessage();
- compare(msg.data.label, "report");
- }
-}
diff --git a/tests/qml/tst_multiclient.qml b/tests/qml/tst_multiclient.qml
deleted file mode 100644
index 519a63c..0000000
--- a/tests/qml/tst_multiclient.qml
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff <milian.wolff@kdab.com>
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the QtWebChannel module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-import QtWebChannel 1.0
-
-WebChannelTest {
- name: "MultiClient"
- id: test
-
- QtObject {
- id: foo
- property int bar: 0
-
- signal ping()
-
- function pong()
- {
- return ++bar;
- }
-
- WebChannel.id: "foo"
- }
-
- TestWebView {
- id: client1
- }
- TestWebView {
- id: client2
- }
-
- function initTestCase()
- {
- webChannel.registeredObjects = [foo];
- }
-
- function test_multiclient()
- {
- loadUrl("multiclient.html", client1);
- loadUrl("multiclient.html", client2);
- // init, connect & idle messages for two clients
- for (var i = 0; i < 3 * 2; ++i) {
- awaitMessage();
- }
-
- foo.ping();
-
- // invoke of pong method
- awaitMessage();
- awaitMessage();
-
- var msg = awaitMessage();
- compare(msg.data.pongAnswer, 1);
- msg = awaitMessage();
- compare(msg.data.pongAnswer, 2);
-
- awaitIdle();
- awaitIdle();
- }
-}
diff --git a/tests/qml/tst_webchannel.qml b/tests/qml/tst_webchannel.qml
deleted file mode 100644
index dddba71..0000000
--- a/tests/qml/tst_webchannel.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff <milian.wolff@kdab.com>
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the QtWebChannel module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-WebChannelTest {
- name: "WebChannel"
-
- function test_receiveRawMessage()
- {
- loadUrl("receiveRaw.html");
- compare(awaitRawMessage(), "foobar");
- }
-
- function test_sendMessage()
- {
- loadUrl("send.html");
- webChannel.sendMessage("myMessage", "foobar");
- compare(awaitRawMessage(), "myMessagePong:foobar");
- }
-}