Codebase list golang-github-vbauerster-mpb / 0e80546
refactoring proxyreader_test Vladimir Bauer 4 years ago
1 changed file(s) with 15 addition(s) and 16 deletion(s). Raw diff Collapse all Expand all
2727 return r.Reader.Read(p)
2828 }
2929
30 type testWriterTo struct {
31 *testReader
32 wt io.WriterTo
33 }
34
35 func (wt testWriterTo) WriteTo(w io.Writer) (n int64, err error) {
36 wt.called = true
37 return wt.wt.WriteTo(w)
38 }
39
3040 func TestProxyReader(t *testing.T) {
3141 p := mpb.New(mpb.WithOutput(ioutil.Discard))
3242
3343 tReader := &testReader{strings.NewReader(content), false}
3444
35 bar := p.AddBar(int64(len(content)), mpb.BarFillerTrim())
45 bar := p.AddBar(int64(len(content)))
3646
3747 var buf bytes.Buffer
3848 _, err := io.Copy(&buf, bar.ProxyReader(tReader))
5161 }
5262 }
5363
54 type testWriterTo struct {
55 io.Reader
56 wt io.WriterTo
57 called bool
58 }
59
60 func (wt *testWriterTo) WriteTo(w io.Writer) (n int64, err error) {
61 wt.called = true
62 return wt.wt.WriteTo(w)
63 }
64
6564 func TestProxyWriterTo(t *testing.T) {
6665 p := mpb.New(mpb.WithOutput(ioutil.Discard))
6766
6867 var reader io.Reader = strings.NewReader(content)
69 tReader := &testWriterTo{reader, reader.(io.WriterTo), false}
68 tWriterTo := testWriterTo{&testReader{reader, false}, reader.(io.WriterTo)}
7069
71 bar := p.AddBar(int64(len(content)), mpb.BarFillerTrim())
70 bar := p.AddBar(int64(len(content)))
7271
7372 var buf bytes.Buffer
74 _, err := io.Copy(&buf, bar.ProxyReader(tReader))
73 _, err := io.Copy(&buf, bar.ProxyReader(tWriterTo))
7574 if err != nil {
7675 t.Errorf("Error copying from reader: %+v\n", err)
7776 }
7877
7978 p.Wait()
8079
81 if !tReader.called {
80 if !tWriterTo.called {
8281 t.Error("WriteTo not called")
8382 }
8483