summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/gameTargets.test.ts9
-rw-r--r--tests/steamLaunchOptions.test.ts20
-rw-r--r--tests/test_steam_service.py20
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):