From c86829d1690154fb3e6e8fbdc4706400d34b9a5e Mon Sep 17 00:00:00 2001 From: upstream Date: Fri, 4 Sep 2026 09:47:25 +0200 Subject: [PATCH] Upstream rodaine/table state of the touched files before 9c71bfd95e --- table.go | 7 ++----- table_test.go | 27 --------------------------- 2 files changed, 2 insertions(+), 32 deletions(-) diff --git a/table.go b/table.go index 70b4bd6..ccd5124 100644 --- a/table.go +++ b/table.go @@ -238,13 +238,10 @@ func (t *table) SetRows(rows [][]string) Table { headerLength := len(t.header) for _, row := range rows { - if len(row) >= headerLength { + if len(row) > headerLength { t.rows = append(t.rows, row[:headerLength]) } else { - // pad short rows so every column is rendered, matching AddRow - padded := make([]string, headerLength) - copy(padded, row) - t.rows = append(t.rows, padded) + t.rows = append(t.rows, row) } } diff --git a/table_test.go b/table_test.go index 204ed29..992c9f6 100644 --- a/table_test.go +++ b/table_test.go @@ -309,30 +309,3 @@ func TestTable_WithWidthFunc(t *testing.T) { assert.Contains(t, actual, "请求 alpha") assert.Contains(t, actual, "abc beta") } - -func TestSetRowsShortRowsPadded(t *testing.T) { - // SetRows must pad short rows like AddRow, not emit %!s(MISSING). - buf := &bytes.Buffer{} - tbl := New("A", "B", "C").WithWriter(buf).WithPadding(1) - tbl.SetRows([][]string{{"x", "y"}}) - tbl.Print() - - out := buf.String() - if strings.Contains(out, "MISSING") { - t.Fatalf("output contains missing-arg verb: %q", out) - } - assert.Equal(t, "A B C \nx y \n", out) -} - -func TestSetRowsEmptyRowWithFirstColumnFormatter(t *testing.T) { - // An empty row must not panic when a first-column formatter is set. - buf := &bytes.Buffer{} - tbl := New("A", "B").WithWriter(buf).WithPadding(1). - WithFirstColumnFormatter(func(f string, v ...interface{}) string { - return fmt.Sprintf(f, v...) - }) - assert.NotPanics(t, func() { - tbl.SetRows([][]string{{}}) - tbl.Print() - }) -}