github.com/akzi/consul@v1.4.5/logger/gated_writer_test.go (about) 1 package logger 2 3 import ( 4 "bytes" 5 "io" 6 "testing" 7 ) 8 9 func TestGatedWriter_impl(t *testing.T) { 10 var _ io.Writer = new(GatedWriter) 11 } 12 13 func TestGatedWriter(t *testing.T) { 14 buf := new(bytes.Buffer) 15 w := &GatedWriter{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 }