github.com/2lambda123/git-lfs@v2.5.2+incompatible/tools/util_test.go (about) 1 package tools 2 3 import ( 4 "bytes" 5 "io/ioutil" 6 "testing" 7 8 "github.com/stretchr/testify/assert" 9 ) 10 11 func TestCopyWithCallback(t *testing.T) { 12 buf := bytes.NewBufferString("BOOYA") 13 14 called := 0 15 calledWritten := make([]int64, 0, 2) 16 17 n, err := CopyWithCallback(ioutil.Discard, buf, 5, func(total int64, written int64, current int) error { 18 called += 1 19 calledWritten = append(calledWritten, written) 20 assert.Equal(t, 5, int(total)) 21 return nil 22 }) 23 assert.Nil(t, err) 24 assert.Equal(t, 5, int(n)) 25 26 assert.Equal(t, 1, called) 27 assert.Len(t, calledWritten, 1) 28 assert.Equal(t, 5, int(calledWritten[0])) 29 }