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  }