github.com/lingyao2333/mo-zero@v1.4.1/core/filex/progressscanner_test.go (about) 1 package filex 2 3 import ( 4 "strings" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 "gopkg.in/cheggaaa/pb.v1" 9 ) 10 11 func TestProgressScanner(t *testing.T) { 12 const text = "hello, world" 13 bar := pb.New(100) 14 var builder strings.Builder 15 builder.WriteString(text) 16 scanner := NewProgressScanner(&mockedScanner{builder: &builder}, bar) 17 assert.True(t, scanner.Scan()) 18 assert.Equal(t, text, scanner.Text()) 19 } 20 21 type mockedScanner struct { 22 builder *strings.Builder 23 } 24 25 func (s *mockedScanner) Scan() bool { 26 return s.builder.Len() > 0 27 } 28 29 func (s *mockedScanner) Text() string { 30 return s.builder.String() 31 }