diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2011-10-25 08:52:01 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-26 02:11:24 +0200 |
commit | 4e931c4a436ea3dcf6e1921488771aa1e79eda13 (patch) | |
tree | 42ca55bb58cfc827a291e1bca122a901670d8ad0 /tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp | |
parent | 2413cc1e87c051760210028979b4db8e4c13eca0 (diff) |
Fix "for (... in ...)" loops for list properties.
Task-number: QTBUG-22276
Change-Id: Ibe5a1180044d8e4a6ca6458e8170dd027885ad10
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Diffstat (limited to 'tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp')
-rw-r--r-- | tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp index 40072c9e60..33604ddcbf 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp +++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp @@ -207,6 +207,7 @@ private slots: void include(); void signalHandlers(); void doubleEvaluate(); + void forInLoop(); void callQtInvokables(); void invokableObjectArg(); @@ -4780,6 +4781,25 @@ void tst_qdeclarativeecmascript::doubleEvaluate() delete object; } +void tst_qdeclarativeecmascript::forInLoop() +{ + QDeclarativeComponent component(&engine, TEST_FILE("forInLoop.qml")); + QObject *object = component.create(); + QVERIFY(object != 0); + + QMetaObject::invokeMethod(object, "listProperty"); + + QStringList r = object->property("listResult").toString().split("|", QString::SkipEmptyParts); + QCOMPARE(r.size(), 3); + QCOMPARE(r[0],QLatin1String("0=obj1")); + QCOMPARE(r[1],QLatin1String("1=obj2")); + QCOMPARE(r[2],QLatin1String("2=obj3")); + + //TODO: should test for in loop for other objects (such as QObjects) as well. + + delete object; +} + QTEST_MAIN(tst_qdeclarativeecmascript) #include "tst_qdeclarativeecmascript.moc" |