aboutsummaryrefslogtreecommitdiff
path: root/tests/script/dbusmenuscript.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/script/dbusmenuscript.cpp')
-rw-r--r--tests/script/dbusmenuscript.cpp75
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/script/dbusmenuscript.cpp b/tests/script/dbusmenuscript.cpp
new file mode 100644
index 0000000..cc332f7
--- /dev/null
+++ b/tests/script/dbusmenuscript.cpp
@@ -0,0 +1,75 @@
+
+#include "dbusmenuscript.h"
+#include <QObject>
+#include <QtTestGui>
+#include <QDebug>
+
+#define WAIT_TIMEOUT 500
+
+DBusMenuScript::DBusMenuScript()
+ :m_script(0)
+{
+}
+
+DBusMenuScript::~DBusMenuScript()
+{
+ quit();
+}
+
+bool DBusMenuScript::connect()
+{
+ QTest::qWait(WAIT_TIMEOUT);
+ m_script = new QDBusInterface(SCRIPT_SERVICE_NAME,
+ SCRIPT_OBJECT_PATH,
+ SCRIPT_INTERFACE_NAME,
+ QDBusConnection::sessionBus(), 0);
+ if (m_script && m_script->isValid()) {
+ return true;
+ } else {
+ qWarning() << "DBUS ERROR:" << m_script->lastError().message();
+ return false;
+ }
+}
+
+void DBusMenuScript::publishMenu()
+{
+ if (m_script) {
+ m_script->call("publishMenu");
+ QTest::qWait(WAIT_TIMEOUT);
+ }
+}
+
+void DBusMenuScript::unpublishMenu()
+{
+ if (m_script) {
+ m_script->call("unpublishMenu");
+ QTest::qWait(WAIT_TIMEOUT);
+ }
+}
+
+
+void DBusMenuScript::quit()
+{
+ if (m_script) {
+ m_script->call("quit");
+ QTest::qWait(WAIT_TIMEOUT);
+ delete m_script;
+ m_script = 0;
+ }
+}
+
+void DBusMenuScript::walk(int steps)
+{
+ if (m_script) {
+ m_script->call("walk", steps);
+ QTest::qWait(WAIT_TIMEOUT);
+ }
+}
+
+void DBusMenuScript::run()
+{
+ if (m_script) {
+ m_script->call("walk", -1);
+ QTest::qWait(WAIT_TIMEOUT);
+ }
+}