diff options
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);  | 
