| 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())) | |
| } |