From 08b143ccdf437ce2e52cdc22b66487d5ba3e22c5 Mon Sep 17 00:00:00 2001 From: Renato Araujo Oliveira Filho Date: Wed, 28 Nov 2012 20:19:42 -0300 Subject: Created unit test for get data function. --- tests/client/modeltest.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'tests') diff --git a/tests/client/modeltest.cpp b/tests/client/modeltest.cpp index 8be92a6..3366177 100644 --- a/tests/client/modeltest.cpp +++ b/tests/client/modeltest.cpp @@ -260,6 +260,44 @@ private Q_SLOTS: delete model; } + + /* + * Test get function + */ + void testGetData() + { + // Make menu available + m_script.publishMenu(); + m_script.run(); + + // create a new model + QDBusMenuModel *model = new QDBusMenuModel(); + model->setBusType(DBusEnums::SessionBus); + model->setBusName(MENU_SERVICE_NAME); + model->setObjectPath(MENU_OBJECT_PATH); + model->start(); + + // Wait for dbus sync + QTest::qWait(500); + + // count + QCOMPARE(model->property("count").toInt(), model->rowCount()); + + QVariantMap data = model->get(0); + + QVERIFY(data.contains("action")); + QVERIFY(data.contains("extra")); + QVERIFY(data.contains("label")); + QVERIFY(data.contains("linkSection")); + QVERIFY(data.contains("linkSubMenu")); + + QCOMPARE(data["action"].toString(), QString("Menu0Act")); + + QVariantMap extra = data["extra"].toMap(); + QCOMPARE(extra.size(), 13); + QCOMPARE(extra["boolean"].toBool(), true); + + } }; QTEST_MAIN(ModelTest) -- cgit v1.2.3