diff --git a/tests/auto/dbus/qdbusabstractinterface/interface.h b/tests/auto/dbus/qdbusabstractinterface/interface.h index 5db59b19eb..ecf732ce2d 100644 --- a/tests/auto/dbus/qdbusabstractinterface/interface.h +++ b/tests/auto/dbus/qdbusabstractinterface/interface.h @@ -43,6 +43,7 @@ #define INTERFACE_H #include +#include #include struct RegisteredType @@ -103,7 +104,7 @@ public slots: Q_SCRIPTABLE void voidMethod() {} Q_SCRIPTABLE int sleepMethod(int); Q_SCRIPTABLE QString stringMethod() { return "Hello, world"; } - Q_SCRIPTABLE RegisteredType complexMethod() { return RegisteredType("Hello, world"); } + Q_SCRIPTABLE RegisteredType complexMethod(const QVariantHash &vars) { return RegisteredType(vars.value("arg1").toString()); } Q_SCRIPTABLE QString multiOutMethod(int &value) { value = 42; return "Hello, world"; } signals: diff --git a/tests/auto/dbus/qdbusabstractinterface/org.qtproject.QtDBus.Pinger.xml b/tests/auto/dbus/qdbusabstractinterface/org.qtproject.QtDBus.Pinger.xml index 845e7be5b4..d5f5c6cebd 100644 --- a/tests/auto/dbus/qdbusabstractinterface/org.qtproject.QtDBus.Pinger.xml +++ b/tests/auto/dbus/qdbusabstractinterface/org.qtproject.QtDBus.Pinger.xml @@ -23,6 +23,8 @@ + + diff --git a/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp b/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp index dc4ed89c1e..54aa563d99 100644 --- a/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp +++ b/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp @@ -304,14 +304,22 @@ void tst_QDBusAbstractInterface::makeStringCall() QCOMPARE(r.value(), targetObj.stringMethod()); } +static QHash complexMethodArgs() +{ + QHash args; + args.insert("arg1", "Hello world"); + args.insert("arg2", 12345); + return args; +} + void tst_QDBusAbstractInterface::makeComplexCall() { Pinger p = getPinger(); QVERIFY2(p, "Not connected to D-Bus"); - QDBusReply r = p->complexMethod(); + QDBusReply r = p->complexMethod(complexMethodArgs()); QVERIFY(r.isValid()); - QCOMPARE(r.value(), targetObj.complexMethod()); + QCOMPARE(r.value(), targetObj.complexMethod(complexMethodArgs())); } void tst_QDBusAbstractInterface::makeMultiOutCall() @@ -352,9 +360,9 @@ void tst_QDBusAbstractInterface::makeComplexCallPeer() Pinger p = getPingerPeer(); QVERIFY2(p, "Not connected to D-Bus"); - QDBusReply r = p->complexMethod(); + QDBusReply r = p->complexMethod(complexMethodArgs()); QVERIFY(r.isValid()); - QCOMPARE(r.value(), targetObj.complexMethod()); + QCOMPARE(r.value(), targetObj.complexMethod(complexMethodArgs())); } void tst_QDBusAbstractInterface::makeMultiOutCallPeer() @@ -397,10 +405,10 @@ void tst_QDBusAbstractInterface::makeAsyncComplexCall() Pinger p = getPinger(); QVERIFY2(p, "Not connected to D-Bus"); - QDBusPendingReply r = p->complexMethod(); + QDBusPendingReply r = p->complexMethod(complexMethodArgs()); r.waitForFinished(); QVERIFY(r.isValid()); - QCOMPARE(r.value(), targetObj.complexMethod()); + QCOMPARE(r.value(), targetObj.complexMethod(complexMethodArgs())); } void tst_QDBusAbstractInterface::makeAsyncMultiOutCall() @@ -445,10 +453,10 @@ void tst_QDBusAbstractInterface::makeAsyncComplexCallPeer() Pinger p = getPingerPeer(); QVERIFY2(p, "Not connected to D-Bus"); - QDBusPendingReply r = p->complexMethod(); + QDBusPendingReply r = p->complexMethod(complexMethodArgs()); r.waitForFinished(); QVERIFY(r.isValid()); - QCOMPARE(r.value(), targetObj.complexMethod()); + QCOMPARE(r.value(), targetObj.complexMethod(complexMethodArgs())); } void tst_QDBusAbstractInterface::makeAsyncMultiOutCallPeer()