on xenial help sign in
Added icon serialising test
commit00c0b4c9b8dc4825b0dec53260891d7c22ffb9ad authorNick Dedekind <nicholas.dedekind@gmail.com> dateThu 8 May 2014, 11:33 (12 years ago) parent7d2c56a
1 file changed+35
tests/plugins/Unity/Indicators/rootactionstatetest.cpp+35
tests/plugins/Unity/Indicators/rootactionstatetest.cpp+35
@@ -21,6 +21,7 @@
2121
2222#include <unitymenumodel.h>
2323#include <QtTest>
24+#include <gio/gio.h>
2425
2526class RootActionStateTest : public QObject
2627{
@@ -52,6 +53,40 @@ private Q_SLOTS:
5253 QVERIFY(rootState->menu() == NULL);
5354 delete rootState;
5455 }
56+
57+ void testToQVariantIcons()
58+ {
59+ GVariantBuilder builderIcons;
60+ g_variant_builder_init(&builderIcons, G_VARIANT_TYPE_ARRAY);
61+
62+ for (int i = 0; i < 3; i ++) {
63+ GIcon* icon = NULL;
64+ icon = g_icon_new_for_string (QString("testIcon%1").arg(i).toUtf8().constData(), NULL);
65+
66+ g_variant_builder_add_value(&builderIcons, g_icon_serialize (icon));
67+ g_object_unref(icon);
68+ }
69+
70+ GVariantBuilder builderParams;
71+ g_variant_builder_init(&builderParams, G_VARIANT_TYPE_ARRAY);
72+ GVariant* icons = g_variant_builder_end (&builderIcons);
73+ g_variant_ref_sink (icons);
74+ g_variant_builder_add (&builderParams, "{sv}", g_strdup ("icons"), icons, NULL);
75+
76+ GVariant* params = g_variant_builder_end (&builderParams);
77+
78+ RootActionState rootState;
79+ QVariant result = rootState.toQVariant(params);
80+ g_variant_unref(params);
81+
82+ QVariantMap paramResult = result.toMap();
83+ QVERIFY(paramResult.contains("icons"));
84+
85+ QStringList serializedIcons = paramResult["icons"].toStringList();
86+ QVERIFY(serializedIcons[0] == "image://theme/testIcon0");
87+ QVERIFY(serializedIcons[1] == "image://theme/testIcon1");
88+ QVERIFY(serializedIcons[2] == "image://theme/testIcon2");
89+ }
5590};
5691
5792QTEST_GUILESS_MAIN(RootActionStateTest)