diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2021-06-16 15:01:00 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2021-06-17 13:04:37 +0200 |
commit | 55a9b77788dc11bf3669ed77a91d3cb68de03b0a (patch) | |
tree | b2d52eef32758e9d36e6406e002ce54570d67ba9 /tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp | |
parent | e0989ff3e320af7ea81fb251d300609baba81ed3 (diff) |
Fix conversion of entries to be added to QVariantLists
We should pass the variants themselves, not their constData().
Fixes: QTBUG-94502
Change-Id: I92688348d7b46d74935dc11080b26290f5e8be86
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit dbe34dfa0d42510b804c898b77d6fe145473c31b)
Diffstat (limited to 'tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp')
-rw-r--r-- | tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp index b5bc1d72ac..df759ba7d0 100644 --- a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp +++ b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp @@ -358,6 +358,8 @@ private slots: void hangOnWarning(); + void variantListConversion(); + private: QQmlEngine engine; QStringList defaultImportPathList; @@ -6288,6 +6290,23 @@ void tst_qqmllanguage::hangOnWarning() QVERIFY(object != nullptr); } +void tst_qqmllanguage::variantListConversion() +{ + QQmlEngine engine; + QQmlComponent c(&engine, testFileUrl("variantListConversion.qml")); + QVERIFY2(c.isReady(), qPrintable(c.errorString())); + QScopedPointer<QObject> o(c.create()); + + Foo *foo = qobject_cast<Foo *>(o.data()); + QVERIFY(foo); + const QVariantList list = foo->getList(); + QCOMPARE(list.length(), 2); + const Large l0 = qvariant_cast<Large>(list.at(0)); + QCOMPARE(l0.a, 12ull); + const Large l1 = qvariant_cast<Large>(list.at(1)); + QCOMPARE(l1.a, 13ull); +} + QTEST_MAIN(tst_qqmllanguage) #include "tst_qqmllanguage.moc" |