streamwriter_test.go 807 B

1234567891011121314151617181920212223242526272829303132333435
  1. package streamformatter
  2. import (
  3. "testing"
  4. "bytes"
  5. "github.com/stretchr/testify/assert"
  6. "github.com/stretchr/testify/require"
  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. require.NoError(t, err)
  14. assert.Equal(t, len(content), size)
  15. expected := `{"stream":"content"}` + streamNewline
  16. assert.Equal(t, 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. require.NoError(t, err)
  24. assert.Equal(t, len(content), size)
  25. expected := `{"stream":"\u001b[91mcontent\u001b[0m"}` + streamNewline
  26. assert.Equal(t, expected, buffer.String())
  27. }