Removes test-only skipTabWriter from HumanReadablePrinter

This commit is contained in:
Sean Sullivan 2019-04-16 18:12:28 -07:00
parent 0148014048
commit b99f49b5b3
2 changed files with 9 additions and 17 deletions

View File

@ -61,7 +61,6 @@ type HumanReadablePrinter struct {
options PrintOptions options PrintOptions
lastType interface{} lastType interface{}
lastColumns []metav1beta1.TableColumnDefinition lastColumns []metav1beta1.TableColumnDefinition
skipTabWriter bool
} }
var _ PrintHandler = &HumanReadablePrinter{} var _ PrintHandler = &HumanReadablePrinter{}
@ -82,13 +81,6 @@ func NewTablePrinter() *HumanReadablePrinter {
} }
} }
// AddTabWriter sets whether the PrintObj function will format with tabwriter (true
// by default).
func (a *HumanReadablePrinter) AddTabWriter(t bool) *HumanReadablePrinter {
a.skipTabWriter = !t
return a
}
func (a *HumanReadablePrinter) With(fns ...func(PrintHandler)) *HumanReadablePrinter { func (a *HumanReadablePrinter) With(fns ...func(PrintHandler)) *HumanReadablePrinter {
for _, fn := range fns { for _, fn := range fns {
fn(a) fn(a)
@ -226,7 +218,7 @@ func printHeader(columnNames []string, w io.Writer) error {
// PrintObj prints the obj in a human-friendly format according to the type of the obj. // PrintObj prints the obj in a human-friendly format according to the type of the obj.
func (h *HumanReadablePrinter) PrintObj(obj runtime.Object, output io.Writer) error { func (h *HumanReadablePrinter) PrintObj(obj runtime.Object, output io.Writer) error {
w, found := output.(*tabwriter.Writer) w, found := output.(*tabwriter.Writer)
if !found && !h.skipTabWriter { if !found {
w = GetNewTabWriter(output) w = GetNewTabWriter(output)
output = w output = w
defer w.Flush() defer w.Flush()

View File

@ -1477,32 +1477,32 @@ func TestPrintPodTable(t *testing.T) {
}{ }{
{ {
obj: runningPod, opts: printers.PrintOptions{}, obj: runningPod, opts: printers.PrintOptions{},
expect: "NAME\tREADY\tSTATUS\tRESTARTS\tAGE\ntest1\t1/2\tRunning\t6\t<unknown>\n", expect: "NAME READY STATUS RESTARTS AGE\ntest1 1/2 Running 6 <unknown>\n",
}, },
{ {
obj: runningPod, opts: printers.PrintOptions{WithKind: true, Kind: schema.GroupKind{Kind: "Pod"}}, obj: runningPod, opts: printers.PrintOptions{WithKind: true, Kind: schema.GroupKind{Kind: "Pod"}},
expect: "NAME\tREADY\tSTATUS\tRESTARTS\tAGE\npod/test1\t1/2\tRunning\t6\t<unknown>\n", expect: "NAME READY STATUS RESTARTS AGE\npod/test1 1/2 Running 6 <unknown>\n",
}, },
{ {
obj: runningPod, opts: printers.PrintOptions{ShowLabels: true}, obj: runningPod, opts: printers.PrintOptions{ShowLabels: true},
expect: "NAME\tREADY\tSTATUS\tRESTARTS\tAGE\tLABELS\ntest1\t1/2\tRunning\t6\t<unknown>\ta=1,b=2\n", expect: "NAME READY STATUS RESTARTS AGE LABELS\ntest1 1/2 Running 6 <unknown> a=1,b=2\n",
}, },
{ {
obj: &api.PodList{Items: []api.Pod{*runningPod, *failedPod}}, opts: printers.PrintOptions{ColumnLabels: []string{"a"}}, obj: &api.PodList{Items: []api.Pod{*runningPod, *failedPod}}, opts: printers.PrintOptions{ColumnLabels: []string{"a"}},
expect: "NAME\tREADY\tSTATUS\tRESTARTS\tAGE\tA\ntest1\t1/2\tRunning\t6\t<unknown>\t1\ntest2\t1/2\tFailed\t6\t<unknown>\t\n", expect: "NAME READY STATUS RESTARTS AGE A\ntest1 1/2 Running 6 <unknown> 1\ntest2 1/2 Failed 6 <unknown> \n",
}, },
{ {
obj: runningPod, opts: printers.PrintOptions{NoHeaders: true}, obj: runningPod, opts: printers.PrintOptions{NoHeaders: true},
expect: "test1\t1/2\tRunning\t6\t<unknown>\n", expect: "test1 1/2 Running 6 <unknown>\n",
}, },
{ {
obj: failedPod, opts: printers.PrintOptions{}, obj: failedPod, opts: printers.PrintOptions{},
expect: "NAME\tREADY\tSTATUS\tRESTARTS\tAGE\ntest2\t1/2\tFailed\t6\t<unknown>\n", expect: "NAME READY STATUS RESTARTS AGE\ntest2 1/2 Failed 6 <unknown>\n",
ignoreLegacy: true, // filtering is not done by the printer in the legacy path ignoreLegacy: true, // filtering is not done by the printer in the legacy path
}, },
{ {
obj: failedPod, opts: printers.PrintOptions{}, obj: failedPod, opts: printers.PrintOptions{},
expect: "NAME\tREADY\tSTATUS\tRESTARTS\tAGE\ntest2\t1/2\tFailed\t6\t<unknown>\n", expect: "NAME READY STATUS RESTARTS AGE\ntest2 1/2 Failed 6 <unknown>\n",
}, },
} }
@ -1513,7 +1513,7 @@ func TestPrintPodTable(t *testing.T) {
} }
verifyTable(t, table) verifyTable(t, table)
buf := &bytes.Buffer{} buf := &bytes.Buffer{}
p := printers.NewHumanReadablePrinter(test.opts).With(AddHandlers).AddTabWriter(false) p := printers.NewHumanReadablePrinter(test.opts).With(AddHandlers)
if err := p.PrintObj(table, buf); err != nil { if err := p.PrintObj(table, buf); err != nil {
t.Fatal(err) t.Fatal(err)
} }