core/writer/table/human_test.go

59 lines
1.3 KiB
Go

package table
import (
"bytes"
"testing"
"text/tabwriter"
)
func TestHeaders(t *testing.T) {
buffer := new(bytes.Buffer)
writer := tabwriter.NewWriter(buffer, 0, 0, 1, ' ', 0)
printer := &HumanPrinter{writer: writer}
err := printer.Headers("Name", "Age")
if err != nil {
t.Errorf("Unexpected error: %v", err)
}
printer.Flush()
expected := "Name Age \n"
if buffer.String() != expected {
t.Errorf("Expected '%s', got '%s'", expected, buffer.String())
}
}
func TestFields(t *testing.T) {
buffer := new(bytes.Buffer)
writer := tabwriter.NewWriter(buffer, 0, 0, 1, ' ', 0)
printer := &HumanPrinter{writer: writer}
err := printer.Fields("John Doe", 30)
if err != nil {
t.Errorf("Unexpected error: %v", err)
}
printer.Flush()
expected := "John Doe 30 \n"
if buffer.String() != expected {
t.Errorf("Expected '%s', got '%s'", expected, buffer.String())
}
}
func TestStringFields(t *testing.T) {
buffer := new(bytes.Buffer)
writer := tabwriter.NewWriter(buffer, 0, 0, 1, ' ', 0)
printer := &HumanPrinter{writer: writer}
err := printer.StringFields("John Doe", "30")
if err != nil {
t.Errorf("Unexpected error: %v", err)
}
printer.Flush()
expected := "John Doe 30 \n"
if buffer.String() != expected {
t.Errorf("Expected '%s', got '%s'", expected, buffer.String())
}
}