diff options
author | Stefan Haller <stefan@haller-berlin.de> | 2023-03-03 08:40:17 +0100 |
---|---|---|
committer | Stefan Haller <stefan@haller-berlin.de> | 2023-03-03 08:46:43 +0100 |
commit | ed47529604913337f3a5f4f1bcfb23dc04550526 (patch) | |
tree | f4e0c24ddbc5d21bf4323708dc13cdd5a0f65d5f /pkg/theme | |
parent | ff5d0155dbd93152889638e3542ced73eb62b097 (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.go | 65 |
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) + } + }) + } +} |