k9s/internal/ui/table_helper_test.go

116 lines
2.6 KiB
Go

package ui
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestIsLabelSelector(t *testing.T) {
uu := map[string]struct {
sel string
e bool
}{
"cool": {"-l app=fred,env=blee", true},
"noMode": {"app=fred,env=blee", false},
"noSpace": {"-lapp=fred,env=blee", true},
"wrongLabel": {"-f app=fred,env=blee", false},
}
for k := range uu {
u := uu[k]
t.Run(k, func(t *testing.T) {
assert.Equal(t, u.e, IsLabelSelector(u.sel))
})
}
}
func TestTrimLabelSelector(t *testing.T) {
uu := map[string]struct {
sel, e string
}{
"cool": {"-l app=fred,env=blee", "app=fred,env=blee"},
"noSpace": {"-lapp=fred,env=blee", "app=fred,env=blee"},
}
for k := range uu {
u := uu[k]
t.Run(k, func(t *testing.T) {
assert.Equal(t, u.e, TrimLabelSelector(u.sel))
})
}
}
// BOZO!!
// func TestTVSortRows(t *testing.T) {
// uu := []struct {
// rows resource.RowEvents
// col int
// asc bool
// first resource.Row
// e []string
// }{
// {
// resource.RowEvents{
// "row1": {Fields: resource.Row{"x", "y"}},
// "row2": {Fields: resource.Row{"a", "b"}},
// },
// 0,
// true,
// resource.Row{"a", "b"},
// []string{"row2", "row1"},
// },
// {
// resource.RowEvents{
// "row1": {Fields: resource.Row{"x", "y"}},
// "row2": {Fields: resource.Row{"a", "b"}},
// },
// 1,
// true,
// resource.Row{"a", "b"},
// []string{"row2", "row1"},
// },
// {
// resource.RowEvents{
// "row1": {Fields: resource.Row{"x", "y"}},
// "row2": {Fields: resource.Row{"a", "b"}},
// },
// 1,
// false,
// resource.Row{"x", "y"},
// []string{"row1", "row2"},
// },
// {
// resource.RowEvents{
// "row1": {Fields: resource.Row{"2175h48m0.06015s", "y"}},
// "row2": {Fields: resource.Row{"403h42m34.060166s", "b"}},
// },
// 0,
// true,
// resource.Row{"403h42m34.060166s", "b"},
// []string{"row2", "row1"},
// },
// }
// for _, u := range uu {
// keys := make([]string, len(u.rows))
// sortRows(u.rows, defaultSort, SortColumn{index: u.col, colCount: len(u.rows), asc: u.asc}, keys)
// assert.Equal(t, u.e, keys)
// assert.Equal(t, u.first, u.rows[u.e[0]].Fields)
// }
// }
// func BenchmarkTableSortRows(b *testing.B) {
// evts := resource.RowEvents{
// "row1": {Fields: resource.Row{"x", "y"}},
// "row2": {Fields: resource.Row{"a", "b"}},
// }
// sc := SortColumn{index: 0, colCount: 2, asc: true}
// keys := make([]string, len(evts))
// b.ResetTimer()
// b.ReportAllocs()
// for i := 0; i < b.N; i++ {
// sortRows(evts, defaultSort, sc, keys)
// }
// }