github.com/seeker-insurance/kit@v0.0.13/pretty/text/colwriter/column_test.go (about)

     1  package colwriter
     2  
     3  import (
     4  	"bytes"
     5  	"testing"
     6  )
     7  
     8  var src = `
     9  .git
    10  .gitignore
    11  .godir
    12  Procfile:
    13  README.md
    14  api.go
    15  apps.go
    16  auth.go
    17  darwin.go
    18  data.go
    19  dyno.go:
    20  env.go
    21  git.go
    22  help.go
    23  hkdist
    24  linux.go
    25  ls.go
    26  main.go
    27  plugin.go
    28  run.go
    29  scale.go
    30  ssh.go
    31  tail.go
    32  term
    33  unix.go
    34  update.go
    35  version.go
    36  windows.go
    37  `[1:]
    38  
    39  var tests = []struct {
    40  	wid  int
    41  	flag uint
    42  	src  string
    43  	want string
    44  }{
    45  	{80, 0, "", ""},
    46  	{80, 0, src, `
    47  .git       README.md  darwin.go  git.go     ls.go      scale.go   unix.go
    48  .gitignore api.go     data.go    help.go    main.go    ssh.go     update.go
    49  .godir     apps.go    dyno.go:   hkdist     plugin.go  tail.go    version.go
    50  Procfile:  auth.go    env.go     linux.go   run.go     term       windows.go
    51  `[1:]},
    52  	{80, BreakOnColon, src, `
    53  .git       .gitignore .godir
    54  
    55  Procfile:
    56  README.md api.go    apps.go   auth.go   darwin.go data.go
    57  
    58  dyno.go:
    59  env.go     hkdist     main.go    scale.go   term       version.go
    60  git.go     linux.go   plugin.go  ssh.go     unix.go    windows.go
    61  help.go    ls.go      run.go     tail.go    update.go
    62  `[1:]},
    63  	{20, 0, `
    64  Hello
    65  Γειά σου
    66  안녕
    67  今日は
    68  `[1:], `
    69  Hello    안녕
    70  Γειά σου 今日は
    71  `[1:]},
    72  }
    73  
    74  func TestWriter(t *testing.T) {
    75  	for _, test := range tests {
    76  		b := new(bytes.Buffer)
    77  		w := NewWriter(b, test.wid, test.flag)
    78  		if _, err := w.Write([]byte(test.src)); err != nil {
    79  			t.Error(err)
    80  		}
    81  		if err := w.Flush(); err != nil {
    82  			t.Error(err)
    83  		}
    84  		if g := b.String(); test.want != g {
    85  			t.Log("\n" + test.want)
    86  			t.Log("\n" + g)
    87  			t.Errorf("%q != %q", test.want, g)
    88  		}
    89  	}
    90  }