diff options
| author | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2026-09-11 09:38:35 -0400 |
|---|---|---|
| committer | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2026-09-11 09:38:35 -0400 |
| commit | a8388009b2ba141caafe7f2e35f7029d93e7811f (patch) | |
| tree | 2f939dba1042a1d1d9c03e4aa3470ad6332864e2 /tests/nowPlaying.test.ts | |
| parent | 9138886fd5315eb0e8c6a4a549a9d44f93ba3cde (diff) | |
| download | decky-lsfg-vk-a8388009b2ba141caafe7f2e35f7029d93e7811f.tar.gz decky-lsfg-vk-a8388009b2ba141caafe7f2e35f7029d93e7811f.zip | |
handle edge cases on flatpaks and ordering
Diffstat (limited to 'tests/nowPlaying.test.ts')
| -rw-r--r-- | tests/nowPlaying.test.ts | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/tests/nowPlaying.test.ts b/tests/nowPlaying.test.ts index 3f0d891..8a52b67 100644 --- a/tests/nowPlaying.test.ts +++ b/tests/nowPlaying.test.ts @@ -54,8 +54,12 @@ test("Flatpak runtime wins while a Steam shortcut is running", () => { assert.equal(target?.kind === "flatpak" ? target.launcher?.name : null, "1080 Snowboarding"); }); -test("Flatpak runtime wins over a native Steam game", () => { - assert.equal(resolveNowPlayingTarget(game(false), flatpak("org.example.Game"))?.kind, "flatpak"); +test("native Steam game wins over an unrelated Flatpak", () => { + assert.equal(resolveNowPlayingTarget(game(false), flatpak("org.example.Game"))?.kind, "steam"); +}); + +test("unconfigured native Steam game blocks unrelated Flatpak Now Playing", () => { + assert.equal(resolveNowPlayingTarget(game(false, false), flatpak("org.example.Game")), null); }); test("direct Flatpak launch creates a Flatpak Now Playing target", () => { @@ -65,6 +69,23 @@ test("direct Flatpak launch creates a Flatpak Now Playing target", () => { assert.equal(target?.kind === "flatpak" ? target.launcher : null, null); }); +test("multiple inactive Flatpaks do not create an arbitrary Now Playing target", () => { + const apps = [flatpak("org.example.one"), flatpak("org.example.two")]; + const running = [ + { app_id: "org.example.one", active: false, pid: "100", start_time: 500 }, + { app_id: "org.example.two", active: false, pid: "200", start_time: 600 }, + ]; + + assert.equal(selectMostRecentRunningFlatpak(apps, running), null); +}); + +test("one inactive Flatpak remains a usable fallback", () => { + const apps = [flatpak("org.example.one")]; + const running = [{ app_id: "org.example.one", active: false, pid: "100", start_time: 500 }]; + + assert.equal(selectMostRecentRunningFlatpak(apps, running)?.app_id, "org.example.one"); +}); + test("configured Steam target remains the fallback", () => { const target = resolveNowPlayingTarget(game(false), null); |
