| package streamformatter // import "github.com/docker/docker/pkg/streamformatter" |
| |
| import ( |
| "bytes" |
| "testing" |
| |
| "gotest.tools/v3/assert" |
| is "gotest.tools/v3/assert/cmp" |
| ) |
| |
| func TestStreamWriterStdout(t *testing.T) { |
| buffer := &bytes.Buffer{} |
| content := "content" |
| sw := NewStdoutWriter(buffer) |
| size, err := sw.Write([]byte(content)) |
| |
| assert.NilError(t, err) |
| assert.Check(t, is.Equal(len(content), size)) |
| |
| expected := `{"stream":"content"}` + streamNewline |
| assert.Check(t, is.Equal(expected, buffer.String())) |
| } |
| |
| func TestStreamWriterStderr(t *testing.T) { |
| buffer := &bytes.Buffer{} |
| content := "content" |
| sw := NewStderrWriter(buffer) |
| size, err := sw.Write([]byte(content)) |
| |
| assert.NilError(t, err) |
| assert.Check(t, is.Equal(len(content), size)) |
| |
| expected := `{"stream":"\u001b[91mcontent\u001b[0m"}` + streamNewline |
| assert.Check(t, is.Equal(expected, buffer.String())) |
| } |