diff options
Diffstat (limited to 'tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp')
-rw-r--r-- | tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp index 537965ccf8..9200e0f5f2 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp +++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp @@ -152,6 +152,7 @@ private slots: void propertyChangeSlots(); void elementAssign(); void objectPassThroughSignals(); + void objectConversion(); void booleanConversion(); void handleReferenceManagement(); void stringArg(); @@ -3314,6 +3315,21 @@ void tst_qdeclarativeecmascript::objectPassThroughSignals() delete object; } +// QTBUG-21626 +void tst_qdeclarativeecmascript::objectConversion() +{ + QDeclarativeComponent component(&engine, TEST_FILE("objectConversion.qml")); + + QObject *object = component.create(); + QVERIFY(object != 0); + QVariant retn; + QMetaObject::invokeMethod(object, "circularObject", Q_RETURN_ARG(QVariant, retn)); + QCOMPARE(retn.value<QVariantMap>().value("test"), QVariant(100)); + + delete object; +} + + // QTBUG-20242 void tst_qdeclarativeecmascript::booleanConversion() { |