github.com/docker/docker@v299999999.0.0-20200612211812-aaf470eca7b5+incompatible/pkg/streamformatter/streamwriter_test.go (about)

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