claude-code-router/packages/electron/test/unit/native-theme.test.ts

16 lines
785 B
TypeScript

import assert from "node:assert/strict";
import test from "node:test";
import { IPC_CHANNELS } from "@ccr/core/contracts/ipc-channels.ts";
import { nativeThemeSource } from "@ccr/electron/main/native-theme.ts";
test("native theme source maps explicit preferences and system fallback", () => {
assert.equal(nativeThemeSource("light"), "light");
assert.equal(nativeThemeSource("dark"), "dark");
assert.equal(nativeThemeSource("system"), "system");
assert.equal(nativeThemeSource(undefined), "system");
});
test("theme preference IPC uses separate save and renderer notification channels", () => {
assert.equal(IPC_CHANNELS.appSetThemePreference, "ccr:app:set-theme-preference");
assert.equal(IPC_CHANNELS.appThemePreferenceChanged, "ccr:app:theme-preference-changed");
});