120 lines
1.8 KiB
Go
120 lines
1.8 KiB
Go
// SPDX-License-Identifier: Apache-2.0
|
|
// Copyright Authors of K9s
|
|
|
|
package config_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/derailed/k9s/internal/config"
|
|
"github.com/derailed/tcell/v2"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestColors(t *testing.T) {
|
|
uu := map[string]struct {
|
|
cc []string
|
|
ee []tcell.Color
|
|
}{
|
|
"empty": {
|
|
ee: []tcell.Color{},
|
|
},
|
|
"default": {
|
|
cc: []string{"default"},
|
|
ee: []tcell.Color{tcell.ColorDefault},
|
|
},
|
|
"multi": {
|
|
cc: []string{
|
|
"default",
|
|
"transparent",
|
|
"blue",
|
|
"green",
|
|
},
|
|
ee: []tcell.Color{
|
|
tcell.ColorDefault,
|
|
tcell.ColorDefault,
|
|
tcell.ColorBlue.TrueColor(),
|
|
tcell.ColorGreen.TrueColor(),
|
|
},
|
|
},
|
|
}
|
|
|
|
for k := range uu {
|
|
u := uu[k]
|
|
t.Run(k, func(t *testing.T) {
|
|
cc := make(config.Colors, 0, len(u.cc))
|
|
for _, c := range u.cc {
|
|
cc = append(cc, config.NewColor(c))
|
|
}
|
|
assert.Equal(t, u.ee, cc.Colors())
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestColorString(t *testing.T) {
|
|
uu := map[string]struct {
|
|
c string
|
|
e string
|
|
}{
|
|
"empty": {
|
|
e: "-",
|
|
},
|
|
"default": {
|
|
c: "default",
|
|
e: "-",
|
|
},
|
|
"transparent": {
|
|
c: "-",
|
|
e: "-",
|
|
},
|
|
"blue": {
|
|
c: "blue",
|
|
e: "#0000ff",
|
|
},
|
|
"lightgray": {
|
|
c: "lightgray",
|
|
e: "#d3d3d3",
|
|
},
|
|
"hex": {
|
|
c: "#00ff00",
|
|
e: "#00ff00",
|
|
},
|
|
}
|
|
|
|
for k := range uu {
|
|
u := uu[k]
|
|
t.Run(k, func(t *testing.T) {
|
|
c := config.NewColor(u.c)
|
|
assert.Equal(t, u.e, c.String())
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestColorToColor(t *testing.T) {
|
|
uu := map[string]struct {
|
|
c string
|
|
e tcell.Color
|
|
}{
|
|
"default": {
|
|
c: "default",
|
|
e: tcell.ColorDefault,
|
|
},
|
|
"transparent": {
|
|
c: "-",
|
|
e: tcell.ColorDefault,
|
|
},
|
|
"aqua": {
|
|
c: "aqua",
|
|
e: tcell.ColorAqua.TrueColor(),
|
|
},
|
|
}
|
|
|
|
for k := range uu {
|
|
u := uu[k]
|
|
t.Run(k, func(t *testing.T) {
|
|
c := config.NewColor(u.c)
|
|
assert.Equal(t, u.e, c.Color())
|
|
})
|
|
}
|
|
}
|