feat: sync embedded analytics theme with parent app
This commit is contained in:
20
lib/theme-sync.test.ts
Normal file
20
lib/theme-sync.test.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { describe, expect, test } from "bun:test";
|
||||
import { resolveIncomingThemeMode, resolveStoredTheme } from "./theme-sync";
|
||||
|
||||
describe("theme sync helpers", () => {
|
||||
test("resolves stored analytics theme values", () => {
|
||||
expect(resolveStoredTheme("light", true)).toBe("light");
|
||||
expect(resolveStoredTheme("dark", false)).toBe("dark");
|
||||
expect(resolveStoredTheme("system", true)).toBe("dark");
|
||||
expect(resolveStoredTheme("system", false)).toBe("light");
|
||||
});
|
||||
|
||||
test("maps new-api theme messages to analytics themes", () => {
|
||||
expect(resolveIncomingThemeMode("light", true)).toBe("light");
|
||||
expect(resolveIncomingThemeMode("dark", false)).toBe("dark");
|
||||
expect(resolveIncomingThemeMode("auto", true)).toBe("dark");
|
||||
expect(resolveIncomingThemeMode("auto", false)).toBe("light");
|
||||
expect(resolveIncomingThemeMode("system", true)).toBe("dark");
|
||||
expect(resolveIncomingThemeMode("unknown", true)).toBeNull();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user