aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qjsvalueiterator/tst_qjsvalueiterator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qjsvalueiterator/tst_qjsvalueiterator.cpp')
-rw-r--r--tests/auto/qml/qjsvalueiterator/tst_qjsvalueiterator.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/qml/qjsvalueiterator/tst_qjsvalueiterator.cpp b/tests/auto/qml/qjsvalueiterator/tst_qjsvalueiterator.cpp
index fa6ac3249b..73c880cc2d 100644
--- a/tests/auto/qml/qjsvalueiterator/tst_qjsvalueiterator.cpp
+++ b/tests/auto/qml/qjsvalueiterator/tst_qjsvalueiterator.cpp
@@ -66,6 +66,7 @@ private slots:
void assignObjectToIterator();
void iterateNonObject();
void iterateOverObjectFromDeletedEngine();
+ void iterateWithNext();
};
tst_QJSValueIterator::tst_QJSValueIterator()
@@ -516,5 +517,31 @@ void tst_QJSValueIterator::iterateOverObjectFromDeletedEngine()
}
+void tst_QJSValueIterator::iterateWithNext()
+{
+ QJSEngine engine;
+ QJSValue value = engine.newObject();
+ value.setProperty("one", 1);
+ value.setProperty("two", 2);
+ value.setProperty("three", 3);
+
+ QStringList list;
+ list << QStringLiteral("one") << QStringLiteral("three") << QStringLiteral("two");
+
+ int counter = 0;
+ QJSValueIterator it(value);
+ QStringList actualList;
+ while (it.next()) {
+ ++counter;
+ actualList << it.name();
+ }
+
+ std::sort(actualList.begin(), actualList.end());
+
+ QCOMPARE(counter, 3);
+ QCOMPARE(list, actualList);
+
+}
+
QTEST_MAIN(tst_QJSValueIterator)
#include "tst_qjsvalueiterator.moc"