67 lines
1.5 KiB
Go
67 lines
1.5 KiB
Go
|
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())
|
||
|
}
|
||
|
}
|