54 lines
1.4 KiB
Go
54 lines
1.4 KiB
Go
package render_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/derailed/k9s/internal/render"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestTableDataDelete(t *testing.T) {
|
|
uu := map[string]struct {
|
|
re render.RowEvents
|
|
kk []string
|
|
e render.RowEvents
|
|
}{
|
|
"ordered": {
|
|
re: render.RowEvents{
|
|
{Row: render.Row{ID: "A", Fields: render.Fields{"1", "2", "3"}}},
|
|
{Row: render.Row{ID: "B", Fields: render.Fields{"0", "2", "3"}}},
|
|
{Row: render.Row{ID: "C", Fields: render.Fields{"10", "2", "3"}}},
|
|
},
|
|
kk: []string{"A", "C"},
|
|
e: render.RowEvents{
|
|
{Row: render.Row{ID: "A", Fields: render.Fields{"1", "2", "3"}}},
|
|
{Row: render.Row{ID: "C", Fields: render.Fields{"10", "2", "3"}}},
|
|
},
|
|
},
|
|
"unordered": {
|
|
re: render.RowEvents{
|
|
{Row: render.Row{ID: "A", Fields: render.Fields{"1", "2", "3"}}},
|
|
{Row: render.Row{ID: "B", Fields: render.Fields{"0", "2", "3"}}},
|
|
{Row: render.Row{ID: "C", Fields: render.Fields{"10", "2", "3"}}},
|
|
{Row: render.Row{ID: "D", Fields: render.Fields{"10", "2", "3"}}},
|
|
},
|
|
kk: []string{"C", "A"},
|
|
e: render.RowEvents{
|
|
{Row: render.Row{ID: "A", Fields: render.Fields{"1", "2", "3"}}},
|
|
{Row: render.Row{ID: "C", Fields: render.Fields{"10", "2", "3"}}},
|
|
},
|
|
},
|
|
}
|
|
|
|
var table render.TableData
|
|
for k := range uu {
|
|
u := uu[k]
|
|
t.Run(k, func(t *testing.T) {
|
|
table.RowEvents = u.re
|
|
table.Delete(u.kk)
|
|
assert.Equal(t, u.e, table.RowEvents)
|
|
})
|
|
}
|
|
|
|
}
|