1
1
package syncwriter
2
2
3
3
import (
4
- "bytes"
5
4
"io"
6
5
"os"
7
6
"testing"
@@ -39,12 +38,17 @@ func TestWriter_Sync(t *testing.T) {
39
38
t .Parallel ()
40
39
41
40
tw := newWriter (syncWriter {
42
- sw : func () error {
41
+ wf : func ([]byte ) (int , error ) {
42
+ return 0 , io .EOF
43
+ },
44
+ sf : func () error {
43
45
return io .EOF
44
46
},
45
47
})
46
- tw .w .Sync ( "test" )
48
+ tw .w .Write ( "hello" , nil )
47
49
assert .Equal (t , 1 , tw .errors , "errors" )
50
+ tw .w .Sync ("test" )
51
+ assert .Equal (t , 2 , tw .errors , "errors" )
48
52
})
49
53
50
54
t .Run ("stdout" , func (t * testing.T ) {
@@ -54,6 +58,20 @@ func TestWriter_Sync(t *testing.T) {
54
58
tw .w .Sync ("test" )
55
59
assert .Equal (t , 0 , tw .errors , "errors" )
56
60
})
61
+
62
+ t .Run ("errorf" , func (t * testing.T ) {
63
+ t .Parallel ()
64
+
65
+ sw := New (syncWriter {
66
+ wf : func ([]byte ) (int , error ) {
67
+ return 0 , io .EOF
68
+ },
69
+ sf : func () error {
70
+ return io .EOF
71
+ },
72
+ })
73
+ sw .Write ("hello" , nil )
74
+ })
57
75
}
58
76
59
77
func Test_errorsIsAny (t * testing.T ) {
@@ -64,12 +82,16 @@ func Test_errorsIsAny(t *testing.T) {
64
82
}
65
83
66
84
type syncWriter struct {
67
- * bytes. Buffer
68
- sw func () error
85
+ wf func ([] byte ) ( int , error )
86
+ sf func () error
69
87
}
70
88
71
89
var _ syncer = & syncWriter {}
72
90
91
+ func (sw syncWriter ) Write (p []byte ) (int , error ) {
92
+ return sw .wf (p )
93
+ }
94
+
73
95
func (sw syncWriter ) Sync () error {
74
- return sw .sw ()
96
+ return sw .sf ()
75
97
}
0 commit comments