diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/gameTargets.test.ts | 9 | ||||
| -rw-r--r-- | tests/steamLaunchOptions.test.ts | 20 | ||||
| -rw-r--r-- | tests/test_steam_service.py | 20 |
3 files changed, 45 insertions, 4 deletions
diff --git a/tests/gameTargets.test.ts b/tests/gameTargets.test.ts index 9896d76..2eb8b7e 100644 --- a/tests/gameTargets.test.ts +++ b/tests/gameTargets.test.ts @@ -39,3 +39,12 @@ test("unknown configured profiles are visible in both source tabs", () => { assert.deepEqual(steamTargets.map((target) => target.appid).sort(), ["123", "456"]); assert.deepEqual(nonSteamTargets.map((target) => target.appid).sort(), ["456", "789"]); }); + +test("direct Flatpak shortcuts remain non-Steam targets", () => { + const targets = mergeGameTargets([], [ + { appid: "123", name: "Flatpak shortcut", nonSteam: true, isFlatpakShortcut: true }, + ], []); + + assert.equal(targets[0].source, "nonSteam"); + assert.equal(targets[0].isFlatpakShortcut, true); +}); diff --git a/tests/steamLaunchOptions.test.ts b/tests/steamLaunchOptions.test.ts index 40aeb3c..1d2f762 100644 --- a/tests/steamLaunchOptions.test.ts +++ b/tests/steamLaunchOptions.test.ts @@ -28,7 +28,7 @@ test("inserts one wrapper immediately before an existing command macro", () => { }); }); -test("normalizes blank and argument-only shortcut fields", () => { +test("normalizes blank, malformed, and argument-only launch fields", () => { assert.deepEqual(installWrapperLaunchOption("", wrapper), { options: `${wrapper} %command%`, commandTokenAdded: true, @@ -37,8 +37,22 @@ test("normalizes blank and argument-only shortcut fields", () => { options: `FOO=bar ${wrapper} %command% --windowed`, commandTokenAdded: true, }); - assert.throws(() => installWrapperLaunchOption("gamemoderun --windowed", wrapper), /refusing to guess/); - assert.throws(() => installWrapperLaunchOption('"%command%"', wrapper), /refusing to guess/); + assert.deepEqual(installWrapperLaunchOption("gamemoderun --windowed", wrapper), { + options: `${wrapper} %command% gamemoderun --windowed`, + commandTokenAdded: true, + }); + assert.deepEqual(installWrapperLaunchOption('"%command%"', wrapper), { + options: `${wrapper} %command%`, + commandTokenAdded: false, + }); + assert.deepEqual(installWrapperLaunchOption(`${wrapper} %command`, wrapper), { + options: `${wrapper} %command%`, + commandTokenAdded: false, + }); + assert.deepEqual(installWrapperLaunchOption(`${wrapper} --windowed`, wrapper), { + options: `${wrapper} %command% --windowed`, + commandTokenAdded: true, + }); }); test("preserves assignments quoting suffixes and released wrapper cleanup", () => { diff --git a/tests/test_steam_service.py b/tests/test_steam_service.py index 004ffb6..75cdabf 100644 --- a/tests/test_steam_service.py +++ b/tests/test_steam_service.py @@ -15,7 +15,7 @@ from lsfg_vk.steam_service import SteamService class SteamShortcutTests(unittest.TestCase): - def test_direct_flatpak_shortcut_is_ordinary_non_steam_metadata(self): + def test_direct_flatpak_shortcut_is_marked(self): game = SteamService._shortcut_game( { "appid": 123456, @@ -30,6 +30,24 @@ class SteamShortcutTests(unittest.TestCase): "appid": "123456", "name": "PCSX2 shortcut", "nonSteam": True, + "isFlatpakShortcut": True, + }) + + def test_bare_flatpak_shortcut_is_marked(self): + game = SteamService._shortcut_game( + { + "appid": 654321, + "AppName": "Faugus shortcut", + "Exe": '"flatpak"', + "LaunchOptions": "run io.github.Faugus.faugus-launcher --game elliot", + } + ) + + self.assertEqual(game, { + "appid": "654321", + "name": "Faugus shortcut", + "nonSteam": True, + "isFlatpakShortcut": True, }) def test_emudeck_launcher_is_ordinary_non_steam_metadata(self): |
