summaryrefslogtreecommitdiffhomepage
path: root/packages/app/e2e
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/e2e')
-rw-r--r--packages/app/e2e/settings/settings.spec.ts36
1 files changed, 36 insertions, 0 deletions
diff --git a/packages/app/e2e/settings/settings.spec.ts b/packages/app/e2e/settings/settings.spec.ts
index 42fe0b06c..f25e91a31 100644
--- a/packages/app/e2e/settings/settings.spec.ts
+++ b/packages/app/e2e/settings/settings.spec.ts
@@ -116,6 +116,42 @@ test("changing theme persists in localStorage", async ({ page, gotoSession }) =>
expect(dataTheme).toBe(storedThemeId)
})
+test("legacy oc-1 theme migrates to oc-2", async ({ page, gotoSession }) => {
+ await page.addInitScript(() => {
+ localStorage.setItem("opencode-theme-id", "oc-1")
+ localStorage.setItem("opencode-theme-css-light", "--background-base:#fff;")
+ localStorage.setItem("opencode-theme-css-dark", "--background-base:#000;")
+ })
+
+ await gotoSession()
+
+ await expect(page.locator("html")).toHaveAttribute("data-theme", "oc-2")
+
+ await expect
+ .poll(async () => {
+ return await page.evaluate(() => {
+ return localStorage.getItem("opencode-theme-id")
+ })
+ })
+ .toBe("oc-2")
+
+ await expect
+ .poll(async () => {
+ return await page.evaluate(() => {
+ return localStorage.getItem("opencode-theme-css-light")
+ })
+ })
+ .toBeNull()
+
+ await expect
+ .poll(async () => {
+ return await page.evaluate(() => {
+ return localStorage.getItem("opencode-theme-css-dark")
+ })
+ })
+ .toBeNull()
+})
+
test("changing font persists in localStorage and updates CSS variable", async ({ page, gotoSession }) => {
await gotoSession()