github.com/lixvbnet/courtney@v0.0.0-20221025031132-0dcb02231211/tester/logger/logger_test.go (about) 1 package logger 2 3 import ( 4 "bytes" 5 "testing" 6 7 "os" 8 ) 9 10 func TestLogger(t *testing.T) { 11 _, o, e := Log(false, os.Stdout, os.Stderr) 12 _, ok := o.(*bytes.Buffer) 13 if !ok { 14 t.Fatal("Stdout is not a *Buffer") 15 } 16 _, ok = e.(*bytes.Buffer) 17 if !ok { 18 t.Fatal("Stderr is not a *Buffer") 19 } 20 21 _, o, e = Log(true, os.Stdout, os.Stderr) 22 _, ok = o.(*multiWriter) 23 if !ok { 24 t.Fatal("Stdout is not a *multiWriter") 25 } 26 _, ok = e.(*multiWriter) 27 if !ok { 28 t.Fatal("Stderr is not a *multiWriter") 29 } 30 } 31 32 func TestMultiWriter(t *testing.T) { 33 var p, w1, w2 []byte 34 pb := bytes.NewBuffer(p) 35 w1b := bytes.NewBuffer(w1) 36 w2b := bytes.NewBuffer(w2) 37 mw := MultiWriter(pb, w1b, w2b) 38 mw.Write([]byte("a")) 39 mw.Write([]byte("b")) 40 if pb.String() != "ab" { 41 t.Fatalf("pb expected 'ab', got '%s'", pb.String()) 42 } 43 if w1b.String() != "ab" { 44 t.Fatalf("w1b expected 'ab', got '%s'", pb.String()) 45 } 46 if w2b.String() != "ab" { 47 t.Fatalf("w2b expected 'ab', got '%s'", pb.String()) 48 } 49 }