summaryrefslogtreecommitdiffhomepage
path: root/pkg/tui/theme/theme_test.go
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-05-18 22:30:41 -0400
committerDax Raad <[email protected]>2025-05-26 12:40:17 -0400
commit99af6146d5def31c59993636d60eb75a483a283b (patch)
treeeb57ed227c15cf9be54bc9f231c83895d812f881 /pkg/tui/theme/theme_test.go
parent020e0ca039287b73fa33041fbd1bb214e6ccb396 (diff)
downloadopencode-99af6146d5def31c59993636d60eb75a483a283b.tar.gz
opencode-99af6146d5def31c59993636d60eb75a483a283b.zip
openapi
Diffstat (limited to 'pkg/tui/theme/theme_test.go')
-rw-r--r--pkg/tui/theme/theme_test.go89
1 files changed, 89 insertions, 0 deletions
diff --git a/pkg/tui/theme/theme_test.go b/pkg/tui/theme/theme_test.go
new file mode 100644
index 000000000..790ee3aa8
--- /dev/null
+++ b/pkg/tui/theme/theme_test.go
@@ -0,0 +1,89 @@
+package theme
+
+import (
+ "testing"
+)
+
+func TestThemeRegistration(t *testing.T) {
+ // Get list of available themes
+ availableThemes := AvailableThemes()
+
+ // Check if "catppuccin" theme is registered
+ catppuccinFound := false
+ for _, themeName := range availableThemes {
+ if themeName == "catppuccin" {
+ catppuccinFound = true
+ break
+ }
+ }
+
+ if !catppuccinFound {
+ t.Errorf("Catppuccin theme is not registered")
+ }
+
+ // Check if "gruvbox" theme is registered
+ gruvboxFound := false
+ for _, themeName := range availableThemes {
+ if themeName == "gruvbox" {
+ gruvboxFound = true
+ break
+ }
+ }
+
+ if !gruvboxFound {
+ t.Errorf("Gruvbox theme is not registered")
+ }
+
+ // Check if "monokai" theme is registered
+ monokaiFound := false
+ for _, themeName := range availableThemes {
+ if themeName == "monokai" {
+ monokaiFound = true
+ break
+ }
+ }
+
+ if !monokaiFound {
+ t.Errorf("Monokai theme is not registered")
+ }
+
+ // Try to get the themes and make sure they're not nil
+ catppuccin := GetTheme("catppuccin")
+ if catppuccin == nil {
+ t.Errorf("Catppuccin theme is nil")
+ }
+
+ gruvbox := GetTheme("gruvbox")
+ if gruvbox == nil {
+ t.Errorf("Gruvbox theme is nil")
+ }
+
+ monokai := GetTheme("monokai")
+ if monokai == nil {
+ t.Errorf("Monokai theme is nil")
+ }
+
+ // Test switching theme
+ originalTheme := CurrentThemeName()
+
+ err := SetTheme("gruvbox")
+ if err != nil {
+ t.Errorf("Failed to set theme to gruvbox: %v", err)
+ }
+
+ if CurrentThemeName() != "gruvbox" {
+ t.Errorf("Theme not properly switched to gruvbox")
+ }
+
+ err = SetTheme("monokai")
+ if err != nil {
+ t.Errorf("Failed to set theme to monokai: %v", err)
+ }
+
+ if CurrentThemeName() != "monokai" {
+ t.Errorf("Theme not properly switched to monokai")
+ }
+
+ // Switch back to original theme
+ _ = SetTheme(originalTheme)
+}