diff options
Diffstat (limited to 'tests/auto/qml/qjsvalueiterator/tst_qjsvalueiterator.cpp')
-rw-r--r-- | tests/auto/qml/qjsvalueiterator/tst_qjsvalueiterator.cpp | 27 |
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" |