aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2011-10-25 08:52:01 +1000
committerQt by Nokia <qt-info@nokia.com>2011-10-26 02:11:24 +0200
commit4e931c4a436ea3dcf6e1921488771aa1e79eda13 (patch)
tree42ca55bb58cfc827a291e1bca122a901670d8ad0 /tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
parent2413cc1e87c051760210028979b4db8e4c13eca0 (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.cpp20
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"