From 7bae914eacc10e59e242885d43d6ba5703b8d84a Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Sat, 31 Oct 2026 11:32:41 +0100 Subject: [PATCH] test(app): drive theme selection through the tile picker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Settings → Appearance no longer has a theme dropdown. The Escape test opens the syntax theme dropdown instead, and the Android system-bars check taps theme tiles. --- packages/app/e2e/browser/settings-navigation.spec.ts | 6 +++--- packages/app/e2e/mobile/system-bars/android.mjs | 5 +---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/packages/app/e2e/browser/settings-navigation.spec.ts b/packages/app/e2e/browser/settings-navigation.spec.ts index 3ec921a663..77aad8f250 100644 --- a/packages/app/e2e/browser/settings-navigation.spec.ts +++ b/packages/app/e2e/browser/settings-navigation.spec.ts @@ -313,12 +313,12 @@ test.describe("Settings sidebar navigation", () => { await test.step("a dropdown owns Escape", async () => { await openSettingsSection(page, "appearance"); - await page.getByLabel(/Theme:/).click(); - await expect(page.getByRole("menuitem", { name: "System", exact: true })).toBeVisible(); + await page.getByLabel(/Highlight theme:/).click(); + await expect(page.getByRole("menuitem", { name: "GitHub", exact: true })).toBeVisible(); await page.keyboard.press("Escape"); - await expect(page.getByRole("menuitem", { name: "System", exact: true })).toHaveCount(0); + await expect(page.getByRole("menuitem", { name: "GitHub", exact: true })).toHaveCount(0); await expect(page).toHaveURL(/\/settings(\/|$)/); }); diff --git a/packages/app/e2e/mobile/system-bars/android.mjs b/packages/app/e2e/mobile/system-bars/android.mjs index 8201f3dc12..acc7458c01 100644 --- a/packages/app/e2e/mobile/system-bars/android.mjs +++ b/packages/app/e2e/mobile/system-bars/android.mjs @@ -38,12 +38,9 @@ async function expectDarkIcons(expected, context) { assert.equal(windowState(), expected, context); } +// Settings > Appearance shows every theme as a tile in one radio group. function selectTheme(theme) { - const current = ad("snapshot", "-i").match(/"Theme: ([^"]+)"/)?.[1]; - assert(current, "Start on Settings > Appearance"); - ad("press", `label="Theme: ${current}"`, "--settle"); ad("press", `label="${theme}"`, "--settle"); - ad("wait", "text", `Theme: ${theme}`, "5000"); } ad("settings", "appearance", "light");