diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2011-07-25 13:14:24 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-07-25 06:08:56 +0200 |
commit | 55aeb36ab13833de4b2a86922017006fe15ad77e (patch) | |
tree | e73a2f70fd7c3e83c3e9e09bf633ac867d5a1664 /tests | |
parent | 9cb3889b33a4a92db40a3a72c3ee4fa25770d539 (diff) |
Check objects can be passed as signal parameters
Task-number: QTBUG-12457
Change-Id: I2d78c8885e488e51364fe4f2a30bde36fa78636a
Reviewed-on: http://codereview.qt.nokia.com/2057
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/declarative/qdeclarativeecmascript/data/objectsPassThroughSignals.qml | 18 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp | 14 |
2 files changed, 32 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/objectsPassThroughSignals.qml b/tests/auto/declarative/qdeclarativeecmascript/data/objectsPassThroughSignals.qml new file mode 100644 index 0000000000..0c99f12e7d --- /dev/null +++ b/tests/auto/declarative/qdeclarativeecmascript/data/objectsPassThroughSignals.qml @@ -0,0 +1,18 @@ +import QtQuick 1.0 + +QtObject { + id: root + + property bool test: false + + signal mysignal(variant object); + function myslot(object) + { + test = (object == root); + } + + Component.onCompleted: { + mysignal.connect(this, myslot); + mysignal(root); + } +} diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp index 1f6427b06e..aafae1ea54 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp +++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp @@ -149,6 +149,7 @@ private slots: void scarceResources(); void propertyChangeSlots(); void elementAssign(); + void objectPassThroughSignals(); void bug1(); void bug2(); @@ -2924,6 +2925,19 @@ void tst_qdeclarativeecmascript::elementAssign() delete object; } +// QTBUG-12457 +void tst_qdeclarativeecmascript::objectPassThroughSignals() +{ + QDeclarativeComponent component(&engine, TEST_FILE("objectsPassThroughSignals.qml")); + + QObject *object = component.create(); + QVERIFY(object != 0); + + QCOMPARE(object->property("test").toBool(), true); + + delete object; +} + // Test that assigning a null object works // Regressed with: df1788b4dbbb2826ae63f26bdf166342595343f4 void tst_qdeclarativeecmascript::nullObjectBinding() |