package common import ( "testing" "github.com/stretchr/testify/assert" ) func TestLineWriter(t *testing.T) { lines := make([]string, 0) lineHandler := func(s string) { lines = append(lines, s) } lineWriter := NewLineWriter(lineHandler) assert := assert.New(t) write := func(s string) { n, err := lineWriter.Write([]byte(s)) assert.NoError(err) assert.Equal(len(s), n, s) } write("hello") write(" ") write("world!!\nextra") write(" line\n and another\nlast") write(" line\n") write("no newline here...") assert.Len(lines, 4) assert.Equal("hello world!!\n", lines[0]) assert.Equal("extra line\n", lines[1]) assert.Equal(" and another\n", lines[2]) assert.Equal("last line\n", lines[3]) }