core/writer/table/json_test.go

67 lines
1.5 KiB
Go
Raw Permalink Normal View History

2024-01-01 16:55:54 +00:00
package table
import (
"bytes"
"testing"
)
func TestJSONHeaders(t *testing.T) {
buffer := new(bytes.Buffer)
printer := &JSONPrinter{writer: buffer}
err := printer.Headers("Name", "Age")
if err != nil {
t.Errorf("Unexpected error: %v", err)
}
expected := "[\n"
if buffer.String() != expected {
t.Errorf("Expected '%s', got '%s'", expected, buffer.String())
}
}
func TestJSONFields(t *testing.T) {
buffer := new(bytes.Buffer)
printer := &JSONPrinter{writer: buffer, headers: []string{"Name", "Age"}}
err := printer.Fields("John Doe", 30)
if err != nil {
t.Errorf("Unexpected error: %v", err)
}
expected := "{\n\"Name\":\"John Doe\",\n\"Age\": 30\n}\n"
if buffer.String() != expected {
t.Errorf("Expected '%s', got '%s'", expected, buffer.String())
}
}
func TestJSONStringFields(t *testing.T) {
buffer := new(bytes.Buffer)
printer := &JSONPrinter{writer: buffer, headers: []string{"Name", "Age"}}
err := printer.StringFields("John Doe", "30")
if err != nil {
t.Errorf("Unexpected error: %v", err)
}
expected := "{\n\"Name\":\"John Doe\",\n\"Age\":\"30\"\n}\n"
if buffer.String() != expected {
t.Errorf("Expected '%s', got '%s'", expected, buffer.String())
}
}
func TestJSONFlush(t *testing.T) {
buffer := new(bytes.Buffer)
printer := &JSONPrinter{writer: buffer}
err := printer.Flush()
if err != nil {
t.Errorf("Unexpected error: %v", err)
}
expected := "]\n"
if buffer.String() != expected {
t.Errorf("Expected '%s', got '%s'", expected, buffer.String())
}
}