summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp')
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp30
1 files changed, 22 insertions, 8 deletions
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
index 1b3bc8a627..86465d25fb 100644
--- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
+++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
@@ -4700,14 +4700,28 @@ void tst_QVariant::sequentialIterableEndianessSanityCheck()
void tst_QVariant::sequentialIterableAppend()
{
- QVector<int> container {1, 2};
- auto variant = QVariant::fromValue(container);
- QVERIFY(variant.canConvert<QtMetaTypePrivate::QSequentialIterableImpl>());
- auto asIterable = variant.value<QtMetaTypePrivate::QSequentialIterableImpl>();
- const int i = 3, j = 4;
- asIterable.append(&i);
- asIterable.append(&j);
- QCOMPARE(variant.value<QVector<int>>(), QVector<int> ({1, 2, 3, 4}));
+ {
+ QVector<int> container {1, 2};
+ auto variant = QVariant::fromValue(container);
+ QVERIFY(variant.canConvert<QtMetaTypePrivate::QSequentialIterableImpl>());
+ auto asIterable = variant.value<QtMetaTypePrivate::QSequentialIterableImpl>();
+ const int i = 3, j = 4;
+ asIterable.append(&i);
+ asIterable.append(&j);
+ QCOMPARE(variant.value<QVector<int>>(), QVector<int> ({1, 2, 3, 4}));
+ }
+ {
+ QSet<QByteArray> container { QByteArray{"hello"}, QByteArray{"world"} };
+ auto variant = QVariant::fromValue(std::move(container));
+ QVERIFY(variant.canConvert<QtMetaTypePrivate::QSequentialIterableImpl>());
+ auto asIterable = variant.value<QtMetaTypePrivate::QSequentialIterableImpl>();
+ QByteArray qba1 {"goodbye"};
+ QByteArray qba2 { "moon" };
+ asIterable.append( &qba1 );
+ asIterable.append( &qba2);
+ QSet<QByteArray> reference { "hello", "world", "goodbye", "moon" };
+ QCOMPARE(variant.value<QSet<QByteArray>>(), reference);
+ }
}
void tst_QVariant::preferDirectConversionOverInterfaces()