diff options
author | Thiago Macieira <thiago@kde.org> | 2006-06-11 12:18:23 +0000 |
---|---|---|
committer | Thiago Macieira <thiago@kde.org> | 2006-06-11 12:18:23 +0000 |
commit | fd5ac15ebc643635e436b64cf1e656284380b1a5 (patch) | |
tree | f1630dd4f97b5f56c61150ee2a0186831d81c256 /test/qt/tst_qdbusabstractadaptor.cpp | |
parent | 3b50a8c9fe65839b79f8df988aee6124abd4f0c4 (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.cpp | 78 |
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); |