streamwriter_test.go 886 B

1234567891011121314151617181920212223242526272829303132333435
  1. package streamformatter // import "github.com/docker/docker/pkg/streamformatter"
  2. import (
  3. "bytes"
  4. "testing"
  5. "gotest.tools/v3/assert"
  6. is "gotest.tools/v3/assert/cmp"
  7. )
  8. func TestStreamWriterStdout(t *testing.T) {
  9. buffer := &bytes.Buffer{}
  10. content := "content"
  11. sw := NewStdoutWriter(buffer)
  12. size, err := sw.Write([]byte(content))
  13. assert.NilError(t, err)
  14. assert.Check(t, is.Equal(len(content), size))
  15. expected := `{"stream":"content"}` + streamNewline
  16. assert.Check(t, is.Equal(expected, buffer.String()))
  17. }
  18. func TestStreamWriterStderr(t *testing.T) {
  19. buffer := &bytes.Buffer{}
  20. content := "content"
  21. sw := NewStderrWriter(buffer)
  22. size, err := sw.Write([]byte(content))
  23. assert.NilError(t, err)
  24. assert.Check(t, is.Equal(len(content), size))
  25. expected := `{"stream":"\u001b[91mcontent\u001b[0m"}` + streamNewline
  26. assert.Check(t, is.Equal(expected, buffer.String()))
  27. }