diff options
Diffstat (limited to 'tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp')
-rw-r--r-- | tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp index b3e683a29b..4264c96745 100644 --- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp +++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp @@ -35,6 +35,7 @@ #include <qvariant.h> #include <qbitarray.h> +#include <qbytearraylist.h> #include <qdatetime.h> #include <qmap.h> #include <qiodevice.h> @@ -208,6 +209,7 @@ private slots: void convertBoolToByteArray_data() const; void convertByteArrayToBool() const; void convertByteArrayToBool_data() const; + void convertIterables() const; void toIntFromQString() const; void toIntFromDouble() const; void setValue(); @@ -2838,6 +2840,49 @@ void tst_QVariant::convertByteArrayToBool_data() const << QByteArray("true"); } +void tst_QVariant::convertIterables() const +{ + { + QStringList list; + list.append("Hello"); + QCOMPARE(QVariant::fromValue(list).value<QVariantList>().count(), list.count()); + } + { + QByteArrayList list; + list.append("Hello"); + QCOMPARE(QVariant::fromValue(list).value<QVariantList>().count(), list.count()); + } + { + QVariantList list; + list.append("World"); + QCOMPARE(QVariant::fromValue(list).value<QVariantList>().count(), list.count()); + } + { + QMap<QString, int> map; + map.insert("3", 4); + QCOMPARE(QVariant::fromValue(map).value<QVariantHash>().count(), map.count()); + QCOMPARE(QVariant::fromValue(map).value<QVariantMap>().count(), map.count()); + } + { + QVariantMap map; + map.insert("3", 4); + QCOMPARE(QVariant::fromValue(map).value<QVariantHash>().count(), map.count()); + QCOMPARE(QVariant::fromValue(map).value<QVariantMap>().count(), map.count()); + } + { + QHash<QString, int> hash; + hash.insert("3", 4); + QCOMPARE(QVariant::fromValue(hash).value<QVariantHash>().count(), hash.count()); + QCOMPARE(QVariant::fromValue(hash).value<QVariantMap>().count(), hash.count()); + } + { + QVariantHash hash; + hash.insert("3", 4); + QCOMPARE(QVariant::fromValue(hash).value<QVariantHash>().count(), hash.count()); + QCOMPARE(QVariant::fromValue(hash).value<QVariantMap>().count(), hash.count()); + } +} + /*! We verify that: 1. Converting the string "9.9" to int fails. This is the behavior of |