From 0b10b01cc4df3f65c342ea034783b94bafe931ff Mon Sep 17 00:00:00 2001 From: Marco Allegretti Date: Sun, 15 Feb 2026 15:48:11 +0100 Subject: [PATCH] tests: cover Runner1 ResolveLaunch wine missing prefix/gameId --- tests/dbus_smoketest.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/dbus_smoketest.cpp b/tests/dbus_smoketest.cpp index b82ab93..4fbf63b 100644 --- a/tests/dbus_smoketest.cpp +++ b/tests/dbus_smoketest.cpp @@ -92,6 +92,7 @@ private Q_SLOTS: void runnerVersionAndListRunners(); void runnerResolveLaunchMissingProgram(); void runnerResolveLaunchUnknownRunnerId(); + void runnerResolveLaunchWineMissingPrefixOrGameId(); void pingInput(); void inputVersionAndCapabilities(); void inputProfilesCrud(); @@ -597,6 +598,27 @@ void DbusSmokeTest::runnerResolveLaunchUnknownRunnerId() QVERIFY(out.value(QStringLiteral("error")).toString().contains(QStringLiteral("unknown runnerId"), Qt::CaseInsensitive)); } +void DbusSmokeTest::runnerResolveLaunchWineMissingPrefixOrGameId() +{ + org::kde::ALaKarte::Runner1 iface(QStringLiteral("org.kde.ALaKarte.Runner1"), QStringLiteral("/org/kde/ALaKarte/Runner1"), m_bus); + QVERIFY(iface.isValid()); + iface.setTimeout(2000); + + QVariantMap spec; + spec.insert(QStringLiteral("runner"), QStringLiteral("wine")); + spec.insert(QStringLiteral("program"), QStringLiteral("/bin/true")); + spec.insert(QStringLiteral("args"), QStringList{}); + + QDBusPendingReply reply = iface.ResolveLaunch(spec); + reply.waitForFinished(); + QVERIFY2(!reply.isError(), qPrintable(reply.error().message())); + + const QVariantMap out = reply.value(); + QCOMPARE(out.value(QStringLiteral("ok")).toBool(), false); + QVERIFY(out.contains(QStringLiteral("error"))); + QVERIFY(out.value(QStringLiteral("error")).toString().contains(QStringLiteral("missing prefixPath or gameId"), Qt::CaseInsensitive)); +} + void DbusSmokeTest::runnerGameProfiles() { org::kde::ALaKarte::Runner1 iface(QStringLiteral("org.kde.ALaKarte.Runner1"), QStringLiteral("/org/kde/ALaKarte/Runner1"), m_bus);