summaryrefslogtreecommitdiffstats
path: root/test/qt/tst_qdbusabstractadaptor.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago@kde.org>2006-06-11 12:18:23 +0000
committerThiago Macieira <thiago@kde.org>2006-06-11 12:18:23 +0000
commitfd5ac15ebc643635e436b64cf1e656284380b1a5 (patch)
treef1630dd4f97b5f56c61150ee2a0186831d81c256 /test/qt/tst_qdbusabstractadaptor.cpp
parent3b50a8c9fe65839b79f8df988aee6124abd4f0c4 (diff)
* test/qt/*: Update the testcases, including testing the new
functionality of sending null QByteArray and QString over the bus. Add new headertest test and restore the old qdbusxmlparser test.
Diffstat (limited to 'test/qt/tst_qdbusabstractadaptor.cpp')
-rw-r--r--test/qt/tst_qdbusabstractadaptor.cpp78
1 files changed, 42 insertions, 36 deletions
diff --git a/test/qt/tst_qdbusabstractadaptor.cpp b/test/qt/tst_qdbusabstractadaptor.cpp
index ec3f0470..d47c5436 100644
--- a/test/qt/tst_qdbusabstractadaptor.cpp
+++ b/test/qt/tst_qdbusabstractadaptor.cpp
@@ -7,6 +7,10 @@
#include "common.h"
+#ifdef Q_CC_MSVC
+#define __PRETTY_FUNCTION__ __FUNCDNAME__
+#endif
+
const char *slotSpy;
QString valueSpy;
@@ -79,7 +83,7 @@ public:
class Interface1: public QDBusAbstractAdaptor
{
Q_OBJECT
- Q_CLASSINFO("D-Bus Interface", "local.Interface1");
+ Q_CLASSINFO("D-Bus Interface", "local.Interface1")
public:
Interface1(QObject *parent) : QDBusAbstractAdaptor(parent)
{ }
@@ -88,9 +92,9 @@ public:
class Interface2: public QDBusAbstractAdaptor
{
Q_OBJECT
- Q_CLASSINFO("D-Bus Interface", "local.Interface2");
- Q_PROPERTY(QString prop1 READ prop1);
- Q_PROPERTY(QString prop2 READ prop2 WRITE setProp2);
+ Q_CLASSINFO("D-Bus Interface", "local.Interface2")
+ Q_PROPERTY(QString prop1 READ prop1)
+ Q_PROPERTY(QString prop2 READ prop2 WRITE setProp2)
public:
Interface2(QObject *parent) : QDBusAbstractAdaptor(parent)
{ setAutoRelaySignals(true); }
@@ -117,9 +121,9 @@ signals:
class Interface3: public QDBusAbstractAdaptor
{
Q_OBJECT
- Q_CLASSINFO("D-Bus Interface", "local.Interface3");
- Q_PROPERTY(QString prop1 READ prop1);
- Q_PROPERTY(QString prop2 READ prop2 WRITE setProp2);
+ Q_CLASSINFO("D-Bus Interface", "local.Interface3")
+ Q_PROPERTY(QString prop1 READ prop1)
+ Q_PROPERTY(QString prop2 READ prop2 WRITE setProp2)
public:
Interface3(QObject *parent) : QDBusAbstractAdaptor(parent)
{ setAutoRelaySignals(true); }
@@ -157,9 +161,9 @@ signals:
class Interface4: public QDBusAbstractAdaptor
{
Q_OBJECT
- Q_CLASSINFO("D-Bus Interface", "local.Interface4");
- Q_PROPERTY(QString prop1 READ prop1);
- Q_PROPERTY(QString prop2 READ prop2 WRITE setProp2);
+ Q_CLASSINFO("D-Bus Interface", "local.Interface4")
+ Q_PROPERTY(QString prop1 READ prop1)
+ Q_PROPERTY(QString prop2 READ prop2 WRITE setProp2)
public:
Interface4(QObject *parent) : QDBusAbstractAdaptor(parent)
{ setAutoRelaySignals(true); }
@@ -452,51 +456,51 @@ void tst_QDBusAbstractAdaptor::methodCalls()
// must fail: no object
//QCOMPARE(empty->call("method").type(), QDBusMessage::ErrorMessage);
- QCOMPARE(if1->call("method").type(), QDBusMessage::ErrorMessage);
+ QCOMPARE(if1->call(QDBusInterface::UseEventLoop, "method").type(), QDBusMessage::ErrorMessage);
QFETCH(int, nInterfaces);
MyObject obj(nInterfaces);
con.registerObject("/", &obj);
// must fail: no such method
- QCOMPARE(if1->call("method").type(), QDBusMessage::ErrorMessage);
+ QCOMPARE(if1->call(QDBusInterface::UseEventLoop, "method").type(), QDBusMessage::ErrorMessage);
if (!nInterfaces--)
return;
if (!nInterfaces--)
return;
// simple call: one such method exists
- QCOMPARE(if2->call("method").type(), QDBusMessage::ReplyMessage);
+ QCOMPARE(if2->call(QDBusInterface::UseEventLoop, "method").type(), QDBusMessage::ReplyMessage);
QCOMPARE(slotSpy, "void Interface2::method()");
if (!nInterfaces--)
return;
// multiple methods in multiple interfaces, no name overlap
- QCOMPARE(if1->call("methodVoid").type(), QDBusMessage::ErrorMessage);
- QCOMPARE(if1->call("methodInt").type(), QDBusMessage::ErrorMessage);
- QCOMPARE(if1->call("methodString").type(), QDBusMessage::ErrorMessage);
- QCOMPARE(if2->call("methodVoid").type(), QDBusMessage::ErrorMessage);
- QCOMPARE(if2->call("methodInt").type(), QDBusMessage::ErrorMessage);
- QCOMPARE(if2->call("methodString").type(), QDBusMessage::ErrorMessage);
-
- QCOMPARE(if3->call("methodVoid").type(), QDBusMessage::ReplyMessage);
+ QCOMPARE(if1->call(QDBusInterface::UseEventLoop, "methodVoid").type(), QDBusMessage::ErrorMessage);
+ QCOMPARE(if1->call(QDBusInterface::UseEventLoop, "methodInt").type(), QDBusMessage::ErrorMessage);
+ QCOMPARE(if1->call(QDBusInterface::UseEventLoop, "methodString").type(), QDBusMessage::ErrorMessage);
+ QCOMPARE(if2->call(QDBusInterface::UseEventLoop, "methodVoid").type(), QDBusMessage::ErrorMessage);
+ QCOMPARE(if2->call(QDBusInterface::UseEventLoop, "methodInt").type(), QDBusMessage::ErrorMessage);
+ QCOMPARE(if2->call(QDBusInterface::UseEventLoop, "methodString").type(), QDBusMessage::ErrorMessage);
+
+ QCOMPARE(if3->call(QDBusInterface::UseEventLoop, "methodVoid").type(), QDBusMessage::ReplyMessage);
QCOMPARE(slotSpy, "void Interface3::methodVoid()");
- QCOMPARE(if3->call("methodInt", 42).type(), QDBusMessage::ReplyMessage);
+ QCOMPARE(if3->call(QDBusInterface::UseEventLoop, "methodInt", 42).type(), QDBusMessage::ReplyMessage);
QCOMPARE(slotSpy, "void Interface3::methodInt(int)");
- QCOMPARE(if3->call("methodString", QString("")).type(), QDBusMessage::ReplyMessage);
+ QCOMPARE(if3->call(QDBusInterface::UseEventLoop, "methodString", QString("")).type(), QDBusMessage::ReplyMessage);
QCOMPARE(slotSpy, "void Interface3::methodString(QString)");
if (!nInterfaces--)
return;
// method overloading: different interfaces
- QCOMPARE(if4->call("method").type(), QDBusMessage::ReplyMessage);
+ QCOMPARE(if4->call(QDBusInterface::UseEventLoop, "method").type(), QDBusMessage::ReplyMessage);
QCOMPARE(slotSpy, "void Interface4::method()");
// method overloading: different parameters
- QCOMPARE(if4->call("method.i", 42).type(), QDBusMessage::ReplyMessage);
+ QCOMPARE(if4->call(QDBusInterface::UseEventLoop, "method.i", 42).type(), QDBusMessage::ReplyMessage);
QCOMPARE(slotSpy, "void Interface4::method(int)");
- QCOMPARE(if4->call("method.s", QString()).type(), QDBusMessage::ReplyMessage);
+ QCOMPARE(if4->call(QDBusInterface::UseEventLoop, "method.s", QString()).type(), QDBusMessage::ReplyMessage);
QCOMPARE(slotSpy, "void Interface4::method(QString)");
}
@@ -679,18 +683,19 @@ void tst_QDBusAbstractAdaptor::readProperties()
MyObject obj;
con.registerObject("/", &obj);
+ QDBusInterfacePtr properties(con, con.baseService(), "/", "org.freedesktop.DBus.Properties");
for (int i = 2; i <= 4; ++i) {
QString name = QString("Interface%1").arg(i);
- QDBusInterface *iface = con.findInterface(con.baseService(), "/", "local." + name);
for (int j = 1; j <= 2; ++j) {
QString propname = QString("prop%1").arg(j);
- QVariant value = iface->property(propname.toLatin1());
+ QDBusReply<QVariant> reply =
+ properties->call(QDBusInterface::UseEventLoop, "Get", "local." + name, propname);
+ QVariant value = reply;
QCOMPARE(value.userType(), int(QVariant::String));
QCOMPARE(value.toString(), QString("QString %1::%2() const").arg(name, propname));
}
- iface->deleteLater();
}
}
@@ -702,21 +707,21 @@ void tst_QDBusAbstractAdaptor::writeProperties()
MyObject obj;
con.registerObject("/", &obj);
+ QDBusInterfacePtr properties(con, con.baseService(), "/", "org.freedesktop.DBus.Properties");
for (int i = 2; i <= 4; ++i) {
QString name = QString("Interface%1").arg(i);
- QDBusInterface *iface = con.findInterface(con.baseService(), "/", "local." + name);
QVariant value(name);
valueSpy.clear();
- iface->setProperty("prop1", value);
+ properties->call(QDBusInterface::UseEventLoop, "Set", "local." + name, QString("prop1"),
+ value);
QVERIFY(valueSpy.isEmpty()); // call mustn't have succeeded
- iface->setProperty("prop2", value);
+ properties->call(QDBusInterface::UseEventLoop, "Set", "local." + name, QString("prop2"),
+ value);
QCOMPARE(valueSpy, name);
QCOMPARE(QString(slotSpy), QString("void %1::setProp2(const QString&)").arg(name));
-
- iface->deleteLater();
}
}
@@ -964,10 +969,11 @@ void tst_QDBusAbstractAdaptor::typeMatching()
QDBusMessage reply;
QDBusInterface *iface = con.findInterface(con.baseService(), "/types", "local.TypesInterface");
- reply = iface->callWithArgs("method" + basename + '.' + signature, QVariantList() << value);
+ reply = iface->callWithArgs("method" + basename + '.' + signature, QVariantList() << value,
+ QDBusInterface::UseEventLoop);
QCOMPARE(reply.type(), QDBusMessage::ReplyMessage);
- reply = iface->call("retrieve" + basename);
+ reply = iface->call(QDBusInterface::UseEventLoop, "retrieve" + basename);
QCOMPARE(reply.type(), QDBusMessage::ReplyMessage);
QCOMPARE(reply.count(), 1);