~indicator-applet-developers/qmenumodel/trunk

« back to all changes in this revision

Viewing changes to tests/script/dbusmenuscript.cpp

  • Committer: Renato Araujo Oliveira Filho
  • Date: 2012-09-11 20:57:08 UTC
  • Revision ID: renato.filho@canonical.com-20120911205708-1r60av48rdde4f10
Splitted qmenumodel plugin in two libraries to make it testable.
Create unit test for qmenumodel library.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
#include "dbusmenuscript.h"
 
3
#include <QObject>
 
4
#include <QtTestGui>
 
5
#include <QDebug>
 
6
 
 
7
#define WAIT_TIMEOUT   500
 
8
 
 
9
DBusMenuScript::DBusMenuScript()
 
10
    :m_script(0)
 
11
{
 
12
}
 
13
 
 
14
DBusMenuScript::~DBusMenuScript()
 
15
{
 
16
    quit();
 
17
}
 
18
 
 
19
bool DBusMenuScript::connect()
 
20
{
 
21
    QTest::qWait(WAIT_TIMEOUT);
 
22
    m_script = new QDBusInterface(SCRIPT_SERVICE_NAME,
 
23
                                  SCRIPT_OBJECT_PATH,
 
24
                                  SCRIPT_INTERFACE_NAME,
 
25
                                  QDBusConnection::sessionBus(), 0);
 
26
    if (m_script && m_script->isValid()) {
 
27
        return true;
 
28
    } else {
 
29
        qWarning() << "DBUS ERROR:" << m_script->lastError().message();
 
30
        return false;
 
31
    }
 
32
}
 
33
 
 
34
void DBusMenuScript::publishMenu()
 
35
{
 
36
    if (m_script) {
 
37
        m_script->call("publishMenu");
 
38
        QTest::qWait(WAIT_TIMEOUT);
 
39
    }
 
40
}
 
41
 
 
42
void DBusMenuScript::unpublishMenu()
 
43
{
 
44
    if (m_script) {
 
45
        m_script->call("unpublishMenu");
 
46
        QTest::qWait(WAIT_TIMEOUT);
 
47
    }
 
48
}
 
49
 
 
50
 
 
51
void DBusMenuScript::quit()
 
52
{
 
53
    if (m_script) {
 
54
        m_script->call("quit");
 
55
        QTest::qWait(WAIT_TIMEOUT);
 
56
        delete m_script;
 
57
        m_script = 0;
 
58
    }
 
59
}
 
60
 
 
61
void DBusMenuScript::walk(int steps)
 
62
{
 
63
    if (m_script) {
 
64
        m_script->call("walk", steps);
 
65
        QTest::qWait(WAIT_TIMEOUT);
 
66
    }
 
67
}
 
68
 
 
69
void DBusMenuScript::run()
 
70
{
 
71
    if (m_script) {
 
72
        m_script->call("walk", -1);
 
73
        QTest::qWait(WAIT_TIMEOUT);
 
74
    }
 
75
}