tests: cover Runner1 ResolveLaunch wine missing prefix/gameId

This commit is contained in:
Marco Allegretti 2026-02-15 15:48:11 +01:00
parent 09026ca26a
commit 0b10b01cc4

View file

@ -92,6 +92,7 @@ private Q_SLOTS:
void runnerVersionAndListRunners(); void runnerVersionAndListRunners();
void runnerResolveLaunchMissingProgram(); void runnerResolveLaunchMissingProgram();
void runnerResolveLaunchUnknownRunnerId(); void runnerResolveLaunchUnknownRunnerId();
void runnerResolveLaunchWineMissingPrefixOrGameId();
void pingInput(); void pingInput();
void inputVersionAndCapabilities(); void inputVersionAndCapabilities();
void inputProfilesCrud(); void inputProfilesCrud();
@ -597,6 +598,27 @@ void DbusSmokeTest::runnerResolveLaunchUnknownRunnerId()
QVERIFY(out.value(QStringLiteral("error")).toString().contains(QStringLiteral("unknown runnerId"), Qt::CaseInsensitive)); 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<QVariantMap> 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() void DbusSmokeTest::runnerGameProfiles()
{ {
org::kde::ALaKarte::Runner1 iface(QStringLiteral("org.kde.ALaKarte.Runner1"), QStringLiteral("/org/kde/ALaKarte/Runner1"), m_bus); org::kde::ALaKarte::Runner1 iface(QStringLiteral("org.kde.ALaKarte.Runner1"), QStringLiteral("/org/kde/ALaKarte/Runner1"), m_bus);