From 92f9678055eef647c9e6ebc7fb0ce29b89db5f89 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Mon, 2 Jan 2012 16:25:17 +0100 Subject: Registered QUuid in the metatype system as a builtin type. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I6be6129d9f6bf468ba8a5805cfa0f6f79199afb3 Reviewed-by: João Abecasis Reviewed-by: Jędrzej Nowacki Reviewed-by: Prasanth Ullattil --- .../corelib/kernel/qmetatype/tst_qmetatype.cpp | 3 +++ tests/auto/corelib/plugin/quuid/tst_quuid.cpp | 31 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) (limited to 'tests/auto') diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp index 12a57447cd..3da48c756e 100644 --- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp +++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp @@ -446,6 +446,9 @@ template<> struct TestValueFactory { template<> struct TestValueFactory { static QEasingCurve *create() { return new QEasingCurve(QEasingCurve::InOutElastic); } }; +template<> struct TestValueFactory { + static QUuid *create() { return new QUuid(); } +}; template<> struct TestValueFactory { static QRegExp *create() { diff --git a/tests/auto/corelib/plugin/quuid/tst_quuid.cpp b/tests/auto/corelib/plugin/quuid/tst_quuid.cpp index 90a391039f..8ce7f17416 100644 --- a/tests/auto/corelib/plugin/quuid/tst_quuid.cpp +++ b/tests/auto/corelib/plugin/quuid/tst_quuid.cpp @@ -76,6 +76,9 @@ private slots: void hash(); + void qvariant(); + void qvariant_conversion(); + public: // Variables QUuid uuidA; @@ -327,7 +330,35 @@ void tst_QUuid::hash() QCOMPARE(qHash(QUuid(uuidA.toString())), h); } +void tst_QUuid::qvariant() +{ + QUuid uuid = QUuid::createUuid(); + QVariant v = QVariant::fromValue(uuid); + QVERIFY(!v.isNull()); + QCOMPARE(v.type(), QVariant::Uuid); + + QUuid uuid2 = v.value(); + QVERIFY(!uuid2.isNull()); + QCOMPARE(uuid, uuid2); +} +void tst_QUuid::qvariant_conversion() +{ + QUuid uuid = QUuid::createUuid(); + QVariant v = QVariant::fromValue(uuid); + + QVERIFY(v.canConvert()); + QCOMPARE(v.toString(), uuid.toString()); + QCOMPARE(v.value(), uuid.toString()); + QVERIFY(!v.canConvert()); + QVERIFY(!v.canConvert()); + + // try reverse conversion QString -> QUuid + QVariant sv = QVariant::fromValue(uuid.toString()); + QCOMPARE(sv.type(), QVariant::String); + QVERIFY(sv.canConvert()); + QCOMPARE(sv.value(), uuid); +} QTEST_MAIN(tst_QUuid) #include "tst_quuid.moc" -- cgit v1.2.3