summaryrefslogtreecommitdiffstats
path: root/pkg/theme
diff options
context:
space:
mode:
authorStefan Haller <stefan@haller-berlin.de>2023-03-03 08:40:17 +0100
committerStefan Haller <stefan@haller-berlin.de>2023-03-03 08:46:43 +0100
commited47529604913337f3a5f4f1bcfb23dc04550526 (patch)
treef4e0c24ddbc5d21bf4323708dc13cdd5a0f65d5f /pkg/theme
parentff5d0155dbd93152889638e3542ced73eb62b097 (diff)
Add some tests for GetTextStyle
The tests show that setting a hex color doesn't work; we'll fix that in the next commit.
Diffstat (limited to 'pkg/theme')
-rw-r--r--pkg/theme/style_test.go65
1 files changed, 65 insertions, 0 deletions
diff --git a/pkg/theme/style_test.go b/pkg/theme/style_test.go
new file mode 100644
index 000000000..99ba16c90
--- /dev/null
+++ b/pkg/theme/style_test.go
@@ -0,0 +1,65 @@
+package theme
+
+import (
+ "reflect"
+ "testing"
+
+ "github.com/gookit/color"
+ "github.com/jesseduffield/lazygit/pkg/gui/style"
+)
+
+func TestGetTextStyle(t *testing.T) {
+ scenarios := []struct {
+ name string
+ keys []string
+ background bool
+ expected style.TextStyle
+ }{
+ {
+ name: "empty",
+ keys: []string{""},
+ background: true,
+ expected: style.New(),
+ },
+ {
+ name: "named color, fg",
+ keys: []string{"blue"},
+ background: false,
+ expected: style.New().SetFg(style.NewBasicColor(color.FgBlue)),
+ },
+ {
+ name: "named color, bg",
+ keys: []string{"blue"},
+ background: true,
+ expected: style.New().SetBg(style.NewBasicColor(color.BgBlue)),
+ },
+ {
+ name: "hex color, fg",
+ keys: []string{"#123456"},
+ background: false,
+ /* EXPECTED:
+ expected: style.New().SetFg(style.NewRGBColor(color.RGBColor{0x12, 0x34, 0x56, 0})),
+ ACTUAL:
+ */
+ expected: style.New(),
+ },
+ {
+ name: "hex color, bg",
+ keys: []string{"#abcdef"},
+ background: true,
+ /* EXPECTED:
+ expected: style.New().SetBg(style.NewRGBColor(color.RGBColor{0xab, 0xcd, 0xef, 1})),
+ ACTUAL:
+ */
+ expected: style.New(),
+ },
+ }
+
+ for _, scenario := range scenarios {
+ t.Run(scenario.name, func(t *testing.T) {
+ if actual := GetTextStyle(scenario.keys, scenario.background); !reflect.DeepEqual(actual, scenario.expected) {
+ t.Errorf("GetTextStyle() = %v, expected %v", actual, scenario.expected)
+ }
+ })
+ }
+}