1package theme
2
3import (
4 "strings"
5 "testing"
6
7 "github.com/stretchr/testify/assert"
8)
9
10func TestGenerateFavoritesSidebarCSS_ContainsCompactControlStyles(t *testing.T) {
11 css := generateFavoritesSidebarCSS(DefaultDarkPalette())
12
13 for _, selector := range []string{
14 ".favorites-sidebar-tags",
15 ".favorites-sidebar-tag-filter",
16 ".favorites-sidebar-tag-filter-active",
17 ".favorites-sidebar-tag-add",
18 ".favorites-sidebar-tag-prompt",
19 ".favorites-sidebar-tag-binding",
20 ".favorites-sidebar-shortcut-badge",
21 ".favorites-sidebar-tag-chip",
22 ".favorites-sidebar-form",
23 ".favorites-sidebar-form-tag-matches",
24 ".favorites-sidebar-form-tag-match",
25 } {
26 assert.Contains(t, css, selector+" {")
27 }
28 assert.Contains(t, css, ".favorites-sidebar-tag-filter-active {", "active filters use sidebar-owned styling")
29 assert.NotContains(t, css, ".suggested-action", "native suggested-action geometry must not affect tag filters")
30 assert.Contains(t, css, "font-size: 0.66em;", "tags and shortcut badges stay compact")
31 assert.Contains(t, css, "border-bottom: 0.0625em solid var(--border);", "filters are separated from the list")
32 assert.Contains(t, css, "border-top: 0.0625em solid var(--border);", "the form is separated from the list")
33}
34
35func TestGenerateFavoritesSidebarCSS_UsesSharedThemeVariables(t *testing.T) {
36 css := generateFavoritesSidebarCSS(DefaultDarkPalette())
37
38 assert.Contains(t, css, "var(--surface)")
39 assert.Contains(t, css, "var(--surface-variant)")
40 assert.Contains(t, css, "var(--accent)")
41 assert.NotContains(t, css, DefaultDarkPalette().Accent)
42 assert.Equal(t, css, generateFavoritesSidebarCSS(DefaultLightPalette()))
43}
44
45func TestGenerateFavoritesSidebarCSS_IsRegisteredWithTheFullTheme(t *testing.T) {
46 css := GenerateCSSFull(DefaultDarkPalette(), 1, DefaultFontConfig(), DefaultModeColors())
47
48 assert.Contains(t, css, "Native Sidebar Foundation")
49 assert.Contains(t, css, "Favorites Sidebar Styling")
50 assert.Contains(t, css, ".favorites-sidebar-tag-filter {")
51 assert.Contains(t, css, ".favorites-sidebar-form {")
52 assert.Equal(t, strings.Count(css, "{"), strings.Count(css, "}"))
53}