|
1 | 1 | import { describe, expect, test } from "bun:test"; |
2 | 2 | import { blendHex, hexColorDistance } from "./lib/color"; |
3 | | -import { CATPPUCCIN_PALETTES, resolveTheme } from "./themes"; |
| 3 | +import { |
| 4 | + CATPPUCCIN_PALETTES, |
| 5 | + resolveTheme, |
| 6 | + TRANSPARENT_BACKGROUND, |
| 7 | + withTransparentBackground, |
| 8 | +} from "./themes"; |
4 | 9 |
|
5 | 10 | describe("themes", () => { |
6 | 11 | test("resolves all Catppuccin flavors by theme id", () => { |
@@ -125,4 +130,33 @@ describe("themes", () => { |
125 | 130 | type: "#94bff3", |
126 | 131 | }); |
127 | 132 | }); |
| 133 | + |
| 134 | + test("withTransparentBackground only swaps painted background fields", () => { |
| 135 | + const theme = resolveTheme("graphite", null); |
| 136 | + const transparent = withTransparentBackground(theme); |
| 137 | + |
| 138 | + expect(transparent).toMatchObject({ |
| 139 | + background: TRANSPARENT_BACKGROUND, |
| 140 | + panel: TRANSPARENT_BACKGROUND, |
| 141 | + panelAlt: TRANSPARENT_BACKGROUND, |
| 142 | + addedBg: TRANSPARENT_BACKGROUND, |
| 143 | + removedBg: TRANSPARENT_BACKGROUND, |
| 144 | + contextBg: TRANSPARENT_BACKGROUND, |
| 145 | + addedContentBg: TRANSPARENT_BACKGROUND, |
| 146 | + removedContentBg: TRANSPARENT_BACKGROUND, |
| 147 | + contextContentBg: TRANSPARENT_BACKGROUND, |
| 148 | + lineNumberBg: TRANSPARENT_BACKGROUND, |
| 149 | + selectedHunk: TRANSPARENT_BACKGROUND, |
| 150 | + noteBackground: TRANSPARENT_BACKGROUND, |
| 151 | + noteTitleBackground: TRANSPARENT_BACKGROUND, |
| 152 | + }); |
| 153 | + expect(transparent.id).toBe(theme.id); |
| 154 | + expect(transparent.label).toBe(theme.label); |
| 155 | + expect(transparent.text).toBe(theme.text); |
| 156 | + expect(transparent.muted).toBe(theme.muted); |
| 157 | + expect(transparent.addedSignColor).toBe(theme.addedSignColor); |
| 158 | + expect(transparent.removedSignColor).toBe(theme.removedSignColor); |
| 159 | + expect(transparent.syntaxColors).toBe(theme.syntaxColors); |
| 160 | + expect(theme.background).not.toBe(TRANSPARENT_BACKGROUND); |
| 161 | + }); |
128 | 162 | }); |
0 commit comments