2018-02-05 21:05:59 +00:00
|
|
|
package streamformatter // import "github.com/docker/docker/pkg/streamformatter"
|
2017-05-01 18:54:56 +00:00
|
|
|
|
|
|
|
import (
|
2017-08-21 21:06:56 +00:00
|
|
|
"bytes"
|
2017-05-01 18:54:56 +00:00
|
|
|
"testing"
|
|
|
|
|
2020-02-07 13:39:24 +00:00
|
|
|
"gotest.tools/v3/assert"
|
|
|
|
is "gotest.tools/v3/assert/cmp"
|
2017-05-01 18:54:56 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func TestStreamWriterStdout(t *testing.T) {
|
|
|
|
buffer := &bytes.Buffer{}
|
|
|
|
content := "content"
|
|
|
|
sw := NewStdoutWriter(buffer)
|
|
|
|
size, err := sw.Write([]byte(content))
|
|
|
|
|
2018-03-13 19:28:34 +00:00
|
|
|
assert.NilError(t, err)
|
|
|
|
assert.Check(t, is.Equal(len(content), size))
|
2017-05-01 18:54:56 +00:00
|
|
|
|
|
|
|
expected := `{"stream":"content"}` + streamNewline
|
2018-03-13 19:28:34 +00:00
|
|
|
assert.Check(t, is.Equal(expected, buffer.String()))
|
2017-05-01 18:54:56 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func TestStreamWriterStderr(t *testing.T) {
|
|
|
|
buffer := &bytes.Buffer{}
|
|
|
|
content := "content"
|
|
|
|
sw := NewStderrWriter(buffer)
|
|
|
|
size, err := sw.Write([]byte(content))
|
|
|
|
|
2018-03-13 19:28:34 +00:00
|
|
|
assert.NilError(t, err)
|
|
|
|
assert.Check(t, is.Equal(len(content), size))
|
2017-05-01 18:54:56 +00:00
|
|
|
|
|
|
|
expected := `{"stream":"\u001b[91mcontent\u001b[0m"}` + streamNewline
|
2018-03-13 19:28:34 +00:00
|
|
|
assert.Check(t, is.Equal(expected, buffer.String()))
|
2017-05-01 18:54:56 +00:00
|
|
|
}
|