From 67394e49c25cb273b53cd2034bb2d31b14a7402a Mon Sep 17 00:00:00 2001 From: Nick Dedekind Date: Thu, 15 Aug 2013 12:48:55 +0100 Subject: Added toGVariantWithSchema for UnityMenuModel::changeState --- tests/client/convertertest.cpp | 53 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'tests') diff --git a/tests/client/convertertest.cpp b/tests/client/convertertest.cpp index f382332..db2807f 100644 --- a/tests/client/convertertest.cpp +++ b/tests/client/convertertest.cpp @@ -45,6 +45,22 @@ private: g_variant_unref(gv); return result; } + bool compareWithSchema(const QVariant &qv, const QString strType) + { + GVariantType* expected_type; + expected_type = g_variant_type_new(strType.toUtf8().data()); + + bool result; + GVariant *gv = Converter::toGVariantWithSchema(qv, strType.toUtf8().data()); + result = g_variant_type_equal(g_variant_get_type(gv), expected_type); + if (!result) { + qWarning() << "types are different: QVariant:" << qv.typeName() + << "Result:" << (const char*) g_variant_get_type(gv) + << "Expected:"<< (const char*) expected_type; + } + g_variant_unref(gv); + return result; + } private Q_SLOTS: @@ -118,6 +134,43 @@ private Q_SLOTS: g_variant_unref(gTuple); } + void testSchemaConvert() + { + // convert to integer + compareWithSchema(QVariant::fromValue(1), "i"); + compareWithSchema(QVariant::fromValue(1.1), "i"); + + // convert to integer + compareWithSchema(QVariant::fromValue(true), "b"); + compareWithSchema(QVariant::fromValue(1), "b"); + + // convert to double + compareWithSchema(QVariant::fromValue(1.0), "d"); + compareWithSchema(QVariant::fromValue(1), "d"); + + // convert to string + compareWithSchema(QVariant::fromValue(1), "s"); + compareWithSchema(QVariant::fromValue(1.1), "s"); + + // convert to tuple + compareWithSchema(QVariantList() << QVariant::fromValue(true) << QVariant::fromValue(1) << QVariant::fromValue(1) << QVariant::fromValue("test1"), "(bdis)"); + + // convert to array + compareWithSchema(QVariantList() << QVariant::fromValue(1) << QVariant::fromValue(1), "ad"); + compareWithSchema(QVariantList() << QVariant::fromValue("test1") << QVariant::fromValue("test2"), "as"); + + // convert to array of tuple + QVariantList si1(QVariantList() << QVariant::fromValue("test1") << QVariant::fromValue(1)); + QVariantList si2(QVariantList() << QVariant::fromValue("test1") << QVariant::fromValue(1)); + compareWithSchema(QVariantList() << QVariant::fromValue(si1) << QVariant::fromValue(si2), "a(sd)"); + + // convert to vardict + QVariantMap map; + map["test1"] = QVariant::fromValue(1); + map["test2"] = QVariant::fromValue(1); + compareWithSchema(map, "a{sv}"); + } + }; QTEST_MAIN(ConverterTest) -- cgit v1.2.3