k9s/internal/ui/logo_test.go

61 lines
2.0 KiB
Go

// SPDX-License-Identifier: Apache-2.0
// Copyright Authors of K9s
package ui_test
import (
"testing"
"github.com/derailed/k9s/internal/config"
"github.com/derailed/k9s/internal/ui"
"github.com/stretchr/testify/assert"
)
func TestNewLogoView(t *testing.T) {
v := ui.NewLogo(config.NewStyles())
v.Reset()
const elogo = "[#ffa500::b] ____ __ ________ \n[#ffa500::b]| |/ / __ \\______\n[#ffa500::b]| /\\____ / ___/\n[#ffa500::b]| \\ \\ / /\\___ \\\n[#ffa500::b]|____|\\__ \\/____//____ /\n[#ffa500::b] \\/ \\/ \n"
assert.Equal(t, elogo, v.Logo().GetText(false))
assert.Empty(t, v.Status().GetText(false))
}
func TestLogoStatus(t *testing.T) {
uu := map[string]struct {
logo, msg, e string
}{
"info": {
"[#008000::b] ____ __ ________ \n[#008000::b]| |/ / __ \\______\n[#008000::b]| /\\____ / ___/\n[#008000::b]| \\ \\ / /\\___ \\\n[#008000::b]|____|\\__ \\/____//____ /\n[#008000::b] \\/ \\/ \n",
"blee",
"[#ffffff::b]blee\n",
},
"warn": {
"[#c71585::b] ____ __ ________ \n[#c71585::b]| |/ / __ \\______\n[#c71585::b]| /\\____ / ___/\n[#c71585::b]| \\ \\ / /\\___ \\\n[#c71585::b]|____|\\__ \\/____//____ /\n[#c71585::b] \\/ \\/ \n",
"blee",
"[#ffffff::b]blee\n",
},
"err": {
"[#ff0000::b] ____ __ ________ \n[#ff0000::b]| |/ / __ \\______\n[#ff0000::b]| /\\____ / ___/\n[#ff0000::b]| \\ \\ / /\\___ \\\n[#ff0000::b]|____|\\__ \\/____//____ /\n[#ff0000::b] \\/ \\/ \n",
"blee",
"[#ffffff::b]blee\n",
},
}
v := ui.NewLogo(config.NewStyles())
for n := range uu {
k, u := n, uu[n]
t.Run(k, func(t *testing.T) {
switch k {
case "info":
v.Info(u.msg)
case "warn":
v.Warn(u.msg)
case "err":
v.Err(u.msg)
}
assert.Equal(t, u.logo, v.Logo().GetText(false))
assert.Equal(t, u.e, v.Status().GetText(false))
})
}
}