blob: 5fca84c7125aee41349bb0b50089265188fab83b [file] [log] [blame] [edit]
package clitable
import (
"bytes"
"strings"
"testing"
)
// TestTableLayout performs a smoke test of the table layout functionality.
func TestTableLayout(t *testing.T) {
tab := Table{}
e := Entry{}
e.Add("id", "short")
e.Add("labels", "")
tab.Add(e)
e = Entry{}
e.Add("whoops", "only in second")
e.Add("labels", "bar")
e.Add("id", "this one is a very long one")
tab.Add(e)
e = Entry{}
e.Add("id", "normal length")
e.Add("labels", "foo")
tab.Add(e)
buf := bytes.NewBuffer(nil)
tab.Print(buf, nil)
golden := `
ID LABELS WHOOPS
short
this one is a very long one bar only in second
normal length foo
`
golden = strings.TrimSpace(golden)
got := strings.TrimSpace(buf.String())
if got != golden {
t.Logf("wanted: \n" + golden)
t.Logf("got: \n" + got)
t.Errorf("mismatch")
}
}