aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qquickconnection
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qquickconnection')
-rw-r--r--tests/auto/qml/qquickconnection/data/connection-targetchange.qml25
-rw-r--r--tests/auto/qml/qquickconnection/data/connection-unknownsignals-ignored.qml8
-rw-r--r--tests/auto/qml/qquickconnection/data/connection-unknownsignals-notarget.qml7
-rw-r--r--tests/auto/qml/qquickconnection/data/connection-unknownsignals-parent.qml7
-rw-r--r--tests/auto/qml/qquickconnection/data/connection-unknownsignals.qml7
-rw-r--r--tests/auto/qml/qquickconnection/data/error-object.qml7
-rw-r--r--tests/auto/qml/qquickconnection/data/error-property.qml5
-rw-r--r--tests/auto/qml/qquickconnection/data/error-property2.qml5
-rw-r--r--tests/auto/qml/qquickconnection/data/error-syntax.qml9
-rw-r--r--tests/auto/qml/qquickconnection/data/rewriteError-global.qml8
-rw-r--r--tests/auto/qml/qquickconnection/data/rewriteError-unnamed.qml8
-rw-r--r--tests/auto/qml/qquickconnection/data/singletontype-target.qml22
-rw-r--r--tests/auto/qml/qquickconnection/data/test-connection.qml10
-rw-r--r--tests/auto/qml/qquickconnection/data/test-connection2.qml3
-rw-r--r--tests/auto/qml/qquickconnection/data/test-connection3.qml3
-rw-r--r--tests/auto/qml/qquickconnection/data/trimming.qml10
-rw-r--r--tests/auto/qml/qquickconnection/qquickconnection.pro14
-rw-r--r--tests/auto/qml/qquickconnection/tst_qquickconnection.cpp343
18 files changed, 0 insertions, 501 deletions
diff --git a/tests/auto/qml/qquickconnection/data/connection-targetchange.qml b/tests/auto/qml/qquickconnection/data/connection-targetchange.qml
deleted file mode 100644
index 154c309c9c..0000000000
--- a/tests/auto/qml/qquickconnection/data/connection-targetchange.qml
+++ /dev/null
@@ -1,25 +0,0 @@
-import QtQuick 2.0
-
-Item {
- Component {
- id: item1
- Item {
- objectName: "item1"
- }
- }
- Component {
- id: item2
- Item {
- objectName: "item2"
- }
- }
- Loader {
- id: loader
- sourceComponent: item1
- }
- Connections {
- objectName: "connections"
- target: loader.item
- onWidthChanged: loader.sourceComponent = item2
- }
-}
diff --git a/tests/auto/qml/qquickconnection/data/connection-unknownsignals-ignored.qml b/tests/auto/qml/qquickconnection/data/connection-unknownsignals-ignored.qml
deleted file mode 100644
index 05d06bda94..0000000000
--- a/tests/auto/qml/qquickconnection/data/connection-unknownsignals-ignored.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import QtQuick 2.0
-
-Item {
- id: screen
-
- Connections { target: screen; onNotFooBar1: {} ignoreUnknownSignals: true }
- Connections { objectName: "connections"; onNotFooBar2: {} ignoreUnknownSignals: true }
-}
diff --git a/tests/auto/qml/qquickconnection/data/connection-unknownsignals-notarget.qml b/tests/auto/qml/qquickconnection/data/connection-unknownsignals-notarget.qml
deleted file mode 100644
index 9d25cba649..0000000000
--- a/tests/auto/qml/qquickconnection/data/connection-unknownsignals-notarget.qml
+++ /dev/null
@@ -1,7 +0,0 @@
-import QtQuick 2.0
-
-Item {
- id: screen
-
- Connections { objectName: "connections"; target: null; onNotFooBar: {} }
-}
diff --git a/tests/auto/qml/qquickconnection/data/connection-unknownsignals-parent.qml b/tests/auto/qml/qquickconnection/data/connection-unknownsignals-parent.qml
deleted file mode 100644
index bcd281256f..0000000000
--- a/tests/auto/qml/qquickconnection/data/connection-unknownsignals-parent.qml
+++ /dev/null
@@ -1,7 +0,0 @@
-import QtQuick 2.0
-
-Item {
- id: screen
-
- Connections { objectName: "connections"; onFooBar: {} }
-}
diff --git a/tests/auto/qml/qquickconnection/data/connection-unknownsignals.qml b/tests/auto/qml/qquickconnection/data/connection-unknownsignals.qml
deleted file mode 100644
index ad8d4d91a8..0000000000
--- a/tests/auto/qml/qquickconnection/data/connection-unknownsignals.qml
+++ /dev/null
@@ -1,7 +0,0 @@
-import QtQuick 2.0
-
-Item {
- id: screen
-
- Connections { objectName: "connections"; target: screen; onFooBar: {} }
-}
diff --git a/tests/auto/qml/qquickconnection/data/error-object.qml b/tests/auto/qml/qquickconnection/data/error-object.qml
deleted file mode 100644
index 256b2626a7..0000000000
--- a/tests/auto/qml/qquickconnection/data/error-object.qml
+++ /dev/null
@@ -1,7 +0,0 @@
-import QtQuick 2.0
-
-Item {
- Connections {
- onClicked: Item {}
- }
-}
diff --git a/tests/auto/qml/qquickconnection/data/error-property.qml b/tests/auto/qml/qquickconnection/data/error-property.qml
deleted file mode 100644
index a602479783..0000000000
--- a/tests/auto/qml/qquickconnection/data/error-property.qml
+++ /dev/null
@@ -1,5 +0,0 @@
-import QtQuick 2.0
-
-Item {
- Connections { fakeProperty: {} }
-}
diff --git a/tests/auto/qml/qquickconnection/data/error-property2.qml b/tests/auto/qml/qquickconnection/data/error-property2.qml
deleted file mode 100644
index 8123afe707..0000000000
--- a/tests/auto/qml/qquickconnection/data/error-property2.qml
+++ /dev/null
@@ -1,5 +0,0 @@
-import QtQuick 2.0
-
-Item {
- Connections { onfakeProperty: {} }
-}
diff --git a/tests/auto/qml/qquickconnection/data/error-syntax.qml b/tests/auto/qml/qquickconnection/data/error-syntax.qml
deleted file mode 100644
index 16c0534b68..0000000000
--- a/tests/auto/qml/qquickconnection/data/error-syntax.qml
+++ /dev/null
@@ -1,9 +0,0 @@
-import QtQuick 2.0
-
-Item {
- Connections {
- onClicked {
- onPressed: {}
- }
- }
-}
diff --git a/tests/auto/qml/qquickconnection/data/rewriteError-global.qml b/tests/auto/qml/qquickconnection/data/rewriteError-global.qml
deleted file mode 100644
index bd18b9df9a..0000000000
--- a/tests/auto/qml/qquickconnection/data/rewriteError-global.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import QtQuick 2.0
-import Test 1.0
-
-TestObject {
- property QtObject connection: Connections {
- onSignalWithGlobalName: { ran = true }
- }
-}
diff --git a/tests/auto/qml/qquickconnection/data/rewriteError-unnamed.qml b/tests/auto/qml/qquickconnection/data/rewriteError-unnamed.qml
deleted file mode 100644
index a4849e994b..0000000000
--- a/tests/auto/qml/qquickconnection/data/rewriteError-unnamed.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import QtQuick 2.0
-import Test 1.0
-
-TestObject {
- property QtObject connection: Connections {
- onUnnamedArgumentSignal: { ran = true }
- }
-}
diff --git a/tests/auto/qml/qquickconnection/data/singletontype-target.qml b/tests/auto/qml/qquickconnection/data/singletontype-target.qml
deleted file mode 100644
index df6f8a0301..0000000000
--- a/tests/auto/qml/qquickconnection/data/singletontype-target.qml
+++ /dev/null
@@ -1,22 +0,0 @@
-import QtQuick 2.0
-import MyTestSingletonType 1.0 as MyTestSingletonType
-
-Item {
- id: rootObject
- objectName: "rootObject"
- property int newIntPropValue: 12
-
- property int moduleIntPropChangedCount: 0
- property int moduleOtherSignalCount: 0
-
- function setModuleIntProp() {
- MyTestSingletonType.Api.intProp = newIntPropValue;
- newIntPropValue = newIntPropValue + 1;
- }
-
- Connections {
- target: MyTestSingletonType.Api
- onIntPropChanged: moduleIntPropChangedCount = moduleIntPropChangedCount + 1;
- onOtherSignal: moduleOtherSignalCount = moduleOtherSignalCount + 1;
- }
-}
diff --git a/tests/auto/qml/qquickconnection/data/test-connection.qml b/tests/auto/qml/qquickconnection/data/test-connection.qml
deleted file mode 100644
index ce851fc3db..0000000000
--- a/tests/auto/qml/qquickconnection/data/test-connection.qml
+++ /dev/null
@@ -1,10 +0,0 @@
-import QtQuick 2.0
-
-Item {
- id: screen; width: 50
-
- property bool tested: false
- signal testMe
-
- Connections { target: screen; onWidthChanged: screen.tested = true }
-}
diff --git a/tests/auto/qml/qquickconnection/data/test-connection2.qml b/tests/auto/qml/qquickconnection/data/test-connection2.qml
deleted file mode 100644
index b23d2fc145..0000000000
--- a/tests/auto/qml/qquickconnection/data/test-connection2.qml
+++ /dev/null
@@ -1,3 +0,0 @@
-import QtQuick 2.0
-
-Connections { id: connection; target: connection; onTargetChanged: 1 == 1 }
diff --git a/tests/auto/qml/qquickconnection/data/test-connection3.qml b/tests/auto/qml/qquickconnection/data/test-connection3.qml
deleted file mode 100644
index 9e88f0ff8f..0000000000
--- a/tests/auto/qml/qquickconnection/data/test-connection3.qml
+++ /dev/null
@@ -1,3 +0,0 @@
-import QtQuick 2.0
-
-Connections {}
diff --git a/tests/auto/qml/qquickconnection/data/trimming.qml b/tests/auto/qml/qquickconnection/data/trimming.qml
deleted file mode 100644
index 6692050deb..0000000000
--- a/tests/auto/qml/qquickconnection/data/trimming.qml
+++ /dev/null
@@ -1,10 +0,0 @@
-import QtQuick 2.0
-
-Item {
- id: screen; width: 50
-
- property string tested
- signal testMe(int param1, string param2)
-
- Connections { target: screen; onTestMe: screen.tested = param2 + param1 }
-}
diff --git a/tests/auto/qml/qquickconnection/qquickconnection.pro b/tests/auto/qml/qquickconnection/qquickconnection.pro
deleted file mode 100644
index b00bc070e7..0000000000
--- a/tests/auto/qml/qquickconnection/qquickconnection.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-CONFIG += testcase
-TARGET = tst_qquickconnection
-macx:CONFIG -= app_bundle
-
-SOURCES += tst_qquickconnection.cpp
-
-include (../../shared/util.pri)
-
-TESTDATA = data/*
-
-CONFIG += parallel_test
-
-QT += core-private gui-private v8-private qml-private quick-private testlib
-DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/qml/qquickconnection/tst_qquickconnection.cpp b/tests/auto/qml/qquickconnection/tst_qquickconnection.cpp
deleted file mode 100644
index d54e5a9db4..0000000000
--- a/tests/auto/qml/qquickconnection/tst_qquickconnection.cpp
+++ /dev/null
@@ -1,343 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the test suite 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 <qtest.h>
-#include <QtQml/qqmlengine.h>
-#include <QtQml/qqmlcomponent.h>
-#include <private/qquickconnections_p.h>
-#include <private/qquickitem_p.h>
-#include "../../shared/util.h"
-#include <QtQml/qqmlscriptstring.h>
-
-class tst_qquickconnection : public QQmlDataTest
-{
- Q_OBJECT
-public:
- tst_qquickconnection();
-
-private slots:
- void defaultValues();
- void properties();
- void connection();
- void trimming();
- void targetChanged();
- void unknownSignals_data();
- void unknownSignals();
- void errors_data();
- void errors();
- void rewriteErrors();
- void singletonTypeTarget();
-
-private:
- QQmlEngine engine;
-};
-
-tst_qquickconnection::tst_qquickconnection()
-{
-}
-
-void tst_qquickconnection::defaultValues()
-{
- QQmlEngine engine;
- QQmlComponent c(&engine, testFileUrl("test-connection3.qml"));
- QQuickConnections *item = qobject_cast<QQuickConnections*>(c.create());
-
- QVERIFY(item != 0);
- QVERIFY(item->target() == 0);
-
- delete item;
-}
-
-void tst_qquickconnection::properties()
-{
- QQmlEngine engine;
- QQmlComponent c(&engine, testFileUrl("test-connection2.qml"));
- QQuickConnections *item = qobject_cast<QQuickConnections*>(c.create());
-
- QVERIFY(item != 0);
-
- QVERIFY(item != 0);
- QVERIFY(item->target() == item);
-
- delete item;
-}
-
-void tst_qquickconnection::connection()
-{
- QQmlEngine engine;
- QQmlComponent c(&engine, testFileUrl("test-connection.qml"));
- QQuickItem *item = qobject_cast<QQuickItem*>(c.create());
-
- QVERIFY(item != 0);
-
- QCOMPARE(item->property("tested").toBool(), false);
- QCOMPARE(item->width(), 50.);
- emit item->setWidth(100.);
- QCOMPARE(item->width(), 100.);
- QCOMPARE(item->property("tested").toBool(), true);
-
- delete item;
-}
-
-void tst_qquickconnection::trimming()
-{
- QQmlEngine engine;
- QQmlComponent c(&engine, testFileUrl("trimming.qml"));
- QQuickItem *item = qobject_cast<QQuickItem*>(c.create());
-
- QVERIFY(item != 0);
-
- QCOMPARE(item->property("tested").toString(), QString(""));
- int index = item->metaObject()->indexOfSignal("testMe(int,QString)");
- QMetaMethod method = item->metaObject()->method(index);
- method.invoke(item,
- Qt::DirectConnection,
- Q_ARG(int, 5),
- Q_ARG(QString, "worked"));
- QCOMPARE(item->property("tested").toString(), QString("worked5"));
-
- delete item;
-}
-
-// Confirm that target can be changed by one of our signal handlers
-void tst_qquickconnection::targetChanged()
-{
- QQmlEngine engine;
- QQmlComponent c(&engine, testFileUrl("connection-targetchange.qml"));
- QQuickItem *item = qobject_cast<QQuickItem*>(c.create());
- QVERIFY(item != 0);
-
- QQuickConnections *connections = item->findChild<QQuickConnections*>("connections");
- QVERIFY(connections);
-
- QQuickItem *item1 = item->findChild<QQuickItem*>("item1");
- QVERIFY(item1);
-
- item1->setWidth(200);
-
- QQuickItem *item2 = item->findChild<QQuickItem*>("item2");
- QVERIFY(item2);
- QVERIFY(connections->target() == item2);
-
- // If we don't crash then we're OK
-
- delete item;
-}
-
-void tst_qquickconnection::unknownSignals_data()
-{
- QTest::addColumn<QString>("file");
- QTest::addColumn<QString>("error");
-
- QTest::newRow("basic") << "connection-unknownsignals.qml" << ":6:5: QML Connections: Cannot assign to non-existent property \"onFooBar\"";
- QTest::newRow("parent") << "connection-unknownsignals-parent.qml" << ":6:5: QML Connections: Cannot assign to non-existent property \"onFooBar\"";
- QTest::newRow("ignored") << "connection-unknownsignals-ignored.qml" << ""; // should be NO error
- QTest::newRow("notarget") << "connection-unknownsignals-notarget.qml" << ""; // should be NO error
-}
-
-void tst_qquickconnection::unknownSignals()
-{
- QFETCH(QString, file);
- QFETCH(QString, error);
-
- QUrl url = testFileUrl(file);
- if (!error.isEmpty()) {
- QTest::ignoreMessage(QtWarningMsg, (url.toString() + error).toLatin1());
- } else {
- // QTest has no way to insist no message (i.e. fail)
- }
-
- QQmlEngine engine;
- QQmlComponent c(&engine, url);
- QQuickItem *item = qobject_cast<QQuickItem*>(c.create());
- QVERIFY(item != 0);
-
- // check that connection is created (they are all runtime errors)
- QQuickConnections *connections = item->findChild<QQuickConnections*>("connections");
- QVERIFY(connections);
-
- if (file == "connection-unknownsignals-ignored.qml")
- QVERIFY(connections->ignoreUnknownSignals());
-
- delete item;
-}
-
-void tst_qquickconnection::errors_data()
-{
- QTest::addColumn<QString>("file");
- QTest::addColumn<QString>("error");
-
- QTest::newRow("no \"on\"") << "error-property.qml" << "Cannot assign to non-existent property \"fakeProperty\"";
- QTest::newRow("3rd letter lowercase") << "error-property2.qml" << "Cannot assign to non-existent property \"onfakeProperty\"";
- QTest::newRow("child object") << "error-object.qml" << "Connections: nested objects not allowed";
- QTest::newRow("grouped object") << "error-syntax.qml" << "Connections: syntax error";
-}
-
-void tst_qquickconnection::errors()
-{
- QFETCH(QString, file);
- QFETCH(QString, error);
-
- QUrl url = testFileUrl(file);
-
- QQmlEngine engine;
- QQmlComponent c(&engine, url);
- QVERIFY(c.isError() == true);
- QList<QQmlError> errors = c.errors();
- QVERIFY(errors.count() == 1);
- QCOMPARE(errors.at(0).description(), error);
-}
-
-class TestObject : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(bool ran READ ran WRITE setRan)
-
-public:
- TestObject(QObject *parent = 0) : m_ran(false) {}
- ~TestObject() {}
-
- bool ran() const { return m_ran; }
- void setRan(bool arg) { m_ran = arg; }
-
-signals:
- void unnamedArgumentSignal(int a, qreal, QString c);
- void signalWithGlobalName(int parseInt);
-
-private:
- bool m_ran;
-};
-
-void tst_qquickconnection::rewriteErrors()
-{
- qmlRegisterType<TestObject>("Test", 1, 0, "TestObject");
- {
- QQmlEngine engine;
- QQmlComponent c(&engine, testFileUrl("rewriteError-unnamed.qml"));
- TestObject *obj = qobject_cast<TestObject*>(c.create());
- QVERIFY(obj != 0);
-
- QTest::ignoreMessage(QtWarningMsg, (c.url().toString() + ":5:35: QML Connections: Signal uses unnamed parameter followed by named parameter.").toLatin1());
- obj->unnamedArgumentSignal(1, .5, "hello");
- QCOMPARE(obj->ran(), false);
-
- delete obj;
- }
-
- {
- QQmlEngine engine;
- QQmlComponent c(&engine, testFileUrl("rewriteError-global.qml"));
- TestObject *obj = qobject_cast<TestObject*>(c.create());
- QVERIFY(obj != 0);
-
- QTest::ignoreMessage(QtWarningMsg, (c.url().toString() + ":5:35: QML Connections: Signal parameter \"parseInt\" hides global variable.").toLatin1());
- obj->signalWithGlobalName(10);
- QCOMPARE(obj->ran(), false);
-
- delete obj;
- }
-}
-
-
-class MyTestSingletonType : public QObject
-{
-Q_OBJECT
-Q_PROPERTY(int intProp READ intProp WRITE setIntProp NOTIFY intPropChanged)
-
-public:
- MyTestSingletonType(QObject *parent = 0) : QObject(parent), m_intProp(0), m_changeCount(0) {}
- ~MyTestSingletonType() {}
-
- Q_INVOKABLE int otherMethod(int val) { return val + 4; }
-
- int intProp() const { return m_intProp; }
- void setIntProp(int val)
- {
- if (++m_changeCount % 3 == 0) emit otherSignal();
- m_intProp = val; emit intPropChanged();
- }
-
-signals:
- void intPropChanged();
- void otherSignal();
-
-private:
- int m_intProp;
- int m_changeCount;
-};
-
-static QObject *module_api_factory(QQmlEngine *engine, QJSEngine *scriptEngine)
-{
- Q_UNUSED(engine)
- Q_UNUSED(scriptEngine)
- MyTestSingletonType *api = new MyTestSingletonType();
- return api;
-}
-
-// QTBUG-20937
-void tst_qquickconnection::singletonTypeTarget()
-{
- qmlRegisterSingletonType<MyTestSingletonType>("MyTestSingletonType", 1, 0, "Api", module_api_factory);
- QQmlComponent component(&engine, testFileUrl("singletontype-target.qml"));
- QObject *object = component.create();
- QVERIFY(object != 0);
-
- QCOMPARE(object->property("moduleIntPropChangedCount").toInt(), 0);
- QCOMPARE(object->property("moduleOtherSignalCount").toInt(), 0);
-
- QMetaObject::invokeMethod(object, "setModuleIntProp");
- QCOMPARE(object->property("moduleIntPropChangedCount").toInt(), 1);
- QCOMPARE(object->property("moduleOtherSignalCount").toInt(), 0);
-
- QMetaObject::invokeMethod(object, "setModuleIntProp");
- QCOMPARE(object->property("moduleIntPropChangedCount").toInt(), 2);
- QCOMPARE(object->property("moduleOtherSignalCount").toInt(), 0);
-
- // the singleton Type emits otherSignal every 3 times the int property changes.
- QMetaObject::invokeMethod(object, "setModuleIntProp");
- QCOMPARE(object->property("moduleIntPropChangedCount").toInt(), 3);
- QCOMPARE(object->property("moduleOtherSignalCount").toInt(), 1);
-
- delete object;
-}
-
-QTEST_MAIN(tst_qquickconnection)
-
-#include "tst_qquickconnection.moc"