github.com/codingeasygo/util@v0.0.0-20231206062002-1ce2f004b7d9/xio/multi_test.go (about) 1 package xio 2 3 import ( 4 "fmt" 5 "io/ioutil" 6 "testing" 7 ) 8 9 func TestMultiWriter(t *testing.T) { 10 var n int 11 var err error 12 raw := ©MultiTestWriter{} 13 writer := NewMultiWriter(ioutil.Discard, raw) 14 raw.n = 0 15 n, err = fmt.Fprintf(writer, "abc") 16 if err != nil || n != 3 { 17 t.Error(err) 18 return 19 } 20 raw.n = 1 21 _, err = fmt.Fprintf(writer, "abc") 22 if err == nil { 23 t.Error(err) 24 return 25 } 26 raw.n = 2 27 _, err = fmt.Fprintf(writer, "abc") 28 if err == nil { 29 t.Error(err) 30 return 31 } 32 writer.Close() 33 }