summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2017-04-09 08:41:51 +0200
committerMarc Mutz <marc.mutz@kdab.com>2017-04-14 12:54:21 +0000
commite1c8451ffeeaa82f29aa2519addfa377f678ed9e (patch)
tree475dcb2f6cdb5cbf18270b8f856e9daf95464033 /tests/auto
parent097073fa678c6526620f786fbdd6e913a77d54d5 (diff)
QVariant: implement QByteArray ↔ QUuid conversionv5.9.0-beta2
Seems like an obvious omission. [ChangeLog][QtCore][QVariant] Can now convert QUuid to and from QByteArray, not just QString. Change-Id: Ib56ae86ca0c27adaf1e095b6b85e64fe64ea8d18 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp3
-rw-r--r--tests/auto/corelib/plugin/quuid/tst_quuid.cpp15
2 files changed, 17 insertions, 1 deletions
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
index 6cb23023c7..ac1e1c6b45 100644
--- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
+++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
@@ -1512,10 +1512,11 @@ void tst_QVariant::operator_eq_eq_data()
// ### many other combinations missing
{
- // QUuid can convert to QString, but not the opposite
QUuid uuid(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
QTest::newRow("uuidstring") << QVariant(uuid) << QVariant(uuid.toString()) << true;
QTest::newRow("stringuuid") << QVariant(uuid.toString()) << QVariant(uuid) << true;
+ QTest::newRow("uuidbytearray") << QVariant(uuid) << QVariant(uuid.toByteArray()) << true;
+ QTest::newRow("bytearrayuuid") << QVariant(uuid.toByteArray()) << QVariant(uuid) << true;
}
{
diff --git a/tests/auto/corelib/plugin/quuid/tst_quuid.cpp b/tests/auto/corelib/plugin/quuid/tst_quuid.cpp
index cb45336d4c..d3102c7ee5 100644
--- a/tests/auto/corelib/plugin/quuid/tst_quuid.cpp
+++ b/tests/auto/corelib/plugin/quuid/tst_quuid.cpp
@@ -392,9 +392,16 @@ void tst_QUuid::qvariant_conversion()
QUuid uuid = QUuid::createUuid();
QVariant v = QVariant::fromValue(uuid);
+ // QUuid -> QString
QVERIFY(v.canConvert<QString>());
QCOMPARE(v.toString(), uuid.toString());
QCOMPARE(v.value<QString>(), uuid.toString());
+
+ // QUuid -> QByteArray
+ QVERIFY(v.canConvert<QByteArray>());
+ QCOMPARE(v.toByteArray(), uuid.toByteArray());
+ QCOMPARE(v.value<QByteArray>(), uuid.toByteArray());
+
QVERIFY(!v.canConvert<int>());
QVERIFY(!v.canConvert<QStringList>());
@@ -403,6 +410,14 @@ void tst_QUuid::qvariant_conversion()
QCOMPARE(sv.type(), QVariant::String);
QVERIFY(sv.canConvert<QUuid>());
QCOMPARE(sv.value<QUuid>(), uuid);
+
+ // QString -> QUuid
+ {
+ QVariant sv = QVariant::fromValue(uuid.toByteArray());
+ QCOMPARE(sv.type(), QVariant::ByteArray);
+ QVERIFY(sv.canConvert<QUuid>());
+ QCOMPARE(sv.value<QUuid>(), uuid);
+ }
}
void tst_QUuid::darwinTypes()