package colwriter import ( "bytes" "testing" ) var src = ` .git .gitignore .godir Procfile: README.md api.go apps.go auth.go darwin.go data.go dyno.go: env.go git.go help.go hkdist linux.go ls.go main.go plugin.go run.go scale.go ssh.go tail.go term unix.go update.go version.go windows.go `[1:] var tests = []struct { wid int flag uint src string want string }{ {80, 0, "", ""}, {80, 0, src, ` .git README.md darwin.go git.go ls.go scale.go unix.go .gitignore api.go data.go help.go main.go ssh.go update.go .godir apps.go dyno.go: hkdist plugin.go tail.go version.go Procfile: auth.go env.go linux.go run.go term windows.go `[1:]}, {80, BreakOnColon, src, ` .git .gitignore .godir Procfile: README.md api.go apps.go auth.go darwin.go data.go dyno.go: env.go hkdist main.go scale.go term version.go git.go linux.go plugin.go ssh.go unix.go windows.go help.go ls.go run.go tail.go update.go `[1:]}, {20, 0, ` Hello Γειά σου 안녕 今日は `[1:], ` Hello 안녕 Γειά σου 今日は `[1:]}, } func TestWriter(t *testing.T) { for _, test := range tests { b := new(bytes.Buffer) w := NewWriter(b, test.wid, test.flag) if _, err := w.Write([]byte(test.src)); err != nil { t.Error(err) } if err := w.Flush(); err != nil { t.Error(err) } if g := b.String(); test.want != g { t.Log("\n" + test.want) t.Log("\n" + g) t.Errorf("%q != %q", test.want, g) } } }