diff --git a/tests/dbus_smoketest.cpp b/tests/dbus_smoketest.cpp index 942c6b2..2d68509 100644 --- a/tests/dbus_smoketest.cpp +++ b/tests/dbus_smoketest.cpp @@ -91,6 +91,7 @@ private Q_SLOTS: void pingRunner(); void runnerVersionAndListRunners(); void pingInput(); + void inputVersionAndCapabilities(); void inputProfilesCrud(); void runnerResolveLaunchNative(); void runnerGameProfiles(); @@ -441,6 +442,40 @@ void DbusSmokeTest::pingInput() QCOMPARE(reply.value(), QStringLiteral("ok")); } +void DbusSmokeTest::inputVersionAndCapabilities() +{ + org::kde::ALaKarte::Input1 iface(QStringLiteral("org.kde.ALaKarte.Input1"), QStringLiteral("/org/kde/ALaKarte/Input1"), m_bus); + QVERIFY(iface.isValid()); + iface.setTimeout(2000); + + { + QDBusPendingReply reply = iface.Version(); + reply.waitForFinished(); + QVERIFY2(!reply.isError(), qPrintable(reply.error().message())); + QCOMPARE(reply.argumentAt<0>(), 1u); + QCOMPARE(reply.argumentAt<1>(), 0u); + } + + { + QDBusPendingReply reply = iface.GetCapabilities(); + reply.waitForFinished(); + QVERIFY2(!reply.isError(), qPrintable(reply.error().message())); + + const QVariantMap caps = reply.value(); + QVERIFY(caps.contains(QStringLiteral("supportsBattery"))); + QVERIFY(caps.value(QStringLiteral("supportsBattery")).canConvert()); + QCOMPARE(caps.value(QStringLiteral("supportsBattery")).toBool(), true); + + QVERIFY(caps.contains(QStringLiteral("supportsHotplug"))); + QVERIFY(caps.value(QStringLiteral("supportsHotplug")).canConvert()); + QCOMPARE(caps.value(QStringLiteral("supportsHotplug")).toBool(), true); + + QVERIFY(caps.contains(QStringLiteral("supportsProfiles"))); + QVERIFY(caps.value(QStringLiteral("supportsProfiles")).canConvert()); + QCOMPARE(caps.value(QStringLiteral("supportsProfiles")).toBool(), true); + } +} + void DbusSmokeTest::inputProfilesCrud() { org::kde::ALaKarte::Input1 iface(QStringLiteral("org.kde.ALaKarte.Input1"), QStringLiteral("/org/kde/ALaKarte/Input1"), m_bus);