aboutsummaryrefslogtreecommitdiff
path: root/tests/client/menuchangestest.cpp
diff options
context:
space:
mode:
authorRenato Araujo Oliveira Filho <renato.filho@canonical.com>2012-09-11 17:57:08 -0300
committerRenato Araujo Oliveira Filho <renato.filho@canonical.com>2012-09-11 17:57:08 -0300
commit6bacc0d5db885a72202cb7f80e505642a36052d4 (patch)
tree608aa95f959b9e362d7813476e59d37c6c07ddf6 /tests/client/menuchangestest.cpp
parent31f8103187d2e27b1bb76eaed10dc9c9be226c90 (diff)
downloadqmenumodel-6bacc0d5db885a72202cb7f80e505642a36052d4.tar.gz
qmenumodel-6bacc0d5db885a72202cb7f80e505642a36052d4.tar.bz2
qmenumodel-6bacc0d5db885a72202cb7f80e505642a36052d4.zip
Splitted qmenumodel plugin in two libraries to make it testable.
Create unit test for qmenumodel library.
Diffstat (limited to 'tests/client/menuchangestest.cpp')
-rw-r--r--tests/client/menuchangestest.cpp65
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/client/menuchangestest.cpp b/tests/client/menuchangestest.cpp
new file mode 100644
index 0000000..7e6379c
--- /dev/null
+++ b/tests/client/menuchangestest.cpp
@@ -0,0 +1,65 @@
+#include "qdbusmenumodel.h"
+#include "dbusmenuscript.h"
+
+#include <QObject>
+#include <QSignalSpy>
+#include <QtTestGui>
+#include <QDebug>
+
+class MenuChangesTest : public QObject
+{
+ Q_OBJECT
+private:
+ DBusMenuScript m_script;
+ QDBusMenuModel m_model;
+
+private Q_SLOTS:
+ void initTestCase()
+ {
+ Q_ASSERT(m_script.connect());
+ }
+
+ void cleanupTestCase()
+ {
+ m_script.quit();
+ }
+
+ void init()
+ {
+ m_model.stop();
+ m_model.setBusType(QDBusObject::SessionBus);
+ m_model.setBusName(MENU_SERVICE_NAME);
+ m_model.setObjectPath(MENU_OBJECT_PATH);
+ }
+
+ void cleanup()
+ {
+ m_script.unpublishMenu();
+ }
+
+ void testMenuItemAppend()
+ {
+ m_script.publishMenu();
+ m_model.start();
+
+ // Create first Item
+ m_script.walk();
+ QCOMPARE(m_model.rowCount(), 1);
+
+ // Create second item
+ m_script.walk();
+ QCOMPARE(m_model.rowCount(), 2);
+
+ // Remove item0
+ m_script.walk();
+ QCOMPARE(m_model.rowCount(), 1);
+
+ // Remove item1
+ m_script.walk();
+ QCOMPARE(m_model.rowCount(), 0);
+ }
+};
+
+QTEST_MAIN(MenuChangesTest)
+
+#include "menuchangestest.moc"