github.com/tonyhb/nomad@v0.11.8/helper/gated-writer/writer_test.go (about)

     1  package gatedwriter
     2  
     3  import (
     4  	"bytes"
     5  	"io"
     6  	"testing"
     7  )
     8  
     9  func TestWriter_impl(t *testing.T) {
    10  	var _ io.Writer = new(Writer)
    11  }
    12  
    13  func TestWriter(t *testing.T) {
    14  	buf := new(bytes.Buffer)
    15  	w := &Writer{Writer: buf}
    16  	w.Write([]byte("foo\n"))
    17  	w.Write([]byte("bar\n"))
    18  
    19  	if buf.String() != "" {
    20  		t.Fatalf("bad: %s", buf.String())
    21  	}
    22  
    23  	w.Flush()
    24  
    25  	if buf.String() != "foo\nbar\n" {
    26  		t.Fatalf("bad: %s", buf.String())
    27  	}
    28  
    29  	w.Write([]byte("baz\n"))
    30  
    31  	if buf.String() != "foo\nbar\nbaz\n" {
    32  		t.Fatalf("bad: %s", buf.String())
    33  	}
    34  }