github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/flexibletable/cells_test.go (about)

     1  // Copyright 2016 Keybase, Inc. All rights reserved. Use of
     2  // this source code is governed by the included BSD license.
     3  
     4  package flexibletable
     5  
     6  import "testing"
     7  
     8  func TestMultiCellMinWidth(t *testing.T) {
     9  	cell := MultiCell{
    10  		Sep: ",",
    11  		Items: []string{
    12  			"andy",
    13  			"bob",
    14  			"chris",
    15  			"david",
    16  			"evan",
    17  			"fred",
    18  			"gabriel",
    19  			"hooray",
    20  			"ikea",
    21  		},
    22  	}
    23  	if cell.minWidth() != 5 {
    24  		// "+10..."
    25  		t.Fatalf("wrong min width; expected 5, got %d\n", cell.minWidth())
    26  	}
    27  	cell.Items = append(cell.Items, "jack")
    28  	if cell.minWidth() != 6 {
    29  		// "+10..."
    30  		t.Fatalf("wrong min width; expected 6, got %d\n", cell.minWidth())
    31  	}
    32  }
    33  
    34  func TestMultiCellString(t *testing.T) {
    35  	cell := MultiCell{
    36  		Sep: ",",
    37  		Items: []string{
    38  			"andy",
    39  			"bob",
    40  			"chris",
    41  		},
    42  	}
    43  
    44  	str := cell.render(6)
    45  	if str != "+3..." {
    46  		t.Fatalf(`wrong string; expected "+3...", got "%s"`, str)
    47  	}
    48  
    49  	str = cell.render(10)
    50  	if str != "andy,+2..." {
    51  		t.Fatalf(`wrong string; expected "andy,+2...", got "%s"`, str)
    52  	}
    53  
    54  	str = cell.render(13)
    55  	if str != "andy,+2..." {
    56  		t.Fatalf(`wrong string; expected "andy,+2...", got "%s"`, str)
    57  	}
    58  
    59  	str = cell.render(14)
    60  	if str != "andy,bob,chris" {
    61  		t.Fatalf(`wrong string; expected "andy,bob,chris", got "%s"`, str)
    62  	}
    63  }
    64  
    65  func TestSingleCellWithFrame(t *testing.T) {
    66  	cell := Cell{
    67  		Content:   SingleCell{Item: "123456789"},
    68  		Frame:     [2]string{"[", "]"},
    69  		Alignment: Left,
    70  	}
    71  
    72  	str, err := cell.render(11)
    73  	if err != nil {
    74  		t.Fatal(err)
    75  	}
    76  	if str != "[123456789]" {
    77  		t.Fatalf("expected [123456789], got %s", str)
    78  	}
    79  
    80  	str, err = cell.render(10)
    81  	if err != nil {
    82  		t.Fatal(err)
    83  	}
    84  	if str != "[12345...]" {
    85  		t.Fatalf("expected [12345...], got %s", str)
    86  	}
    87  }