@@ -8,27 +8,52 @@ import (
88 "github.com/stretchr/testify/require"
99)
1010
11- func TestLogProgress (t * testing.T ) {
11+ func TestLogProgress40 (t * testing.T ) {
1212 buf := bytes .NewBufferString ("" )
1313 lg := zerolog .New (buf )
14- logger := LogProgress ("test" , 40 , & lg )
15- for i := 0 ; i < 50 ; i ++ {
14+ total := 40
15+ logger := LogProgress ("test" , total , & lg )
16+ for i := 0 ; i < total ; i ++ {
1617 logger (i )
1718 }
1819
1920 expectedLogs :=
20- `{"level":"info","message":"test completion percentage: 10 percent"}
21- {"level":"info","message":"test completion percentage: 20 percent"}
22- {"level":"info","message":"test completion percentage: 30 percent"}
23- {"level":"info","message":"test completion percentage: 40 percent"}
24- {"level":"info","message":"test completion percentage: 50 percent"}
25- {"level":"info","message":"test completion percentage: 60 percent"}
26- {"level":"info","message":"test completion percentage: 70 percent"}
27- {"level":"info","message":"test completion percentage: 80 percent"}
28- {"level":"info","message":"test completion percentage: 90 percent"}
29- {"level":"info","message":"test completion percentage: 100 percent"}
30- {"level":"info","message":"test completion percentage: 110 percent"}
31- {"level":"info","message":"test completion percentage: 120 percent"}
21+ `{"level":"info","message":"test progress: 0 percent"}
22+ {"level":"info","message":"test progress: 10 percent"}
23+ {"level":"info","message":"test progress: 20 percent"}
24+ {"level":"info","message":"test progress: 30 percent"}
25+ {"level":"info","message":"test progress: 40 percent"}
26+ {"level":"info","message":"test progress: 50 percent"}
27+ {"level":"info","message":"test progress: 60 percent"}
28+ {"level":"info","message":"test progress: 70 percent"}
29+ {"level":"info","message":"test progress: 80 percent"}
30+ {"level":"info","message":"test progress: 90 percent"}
31+ {"level":"info","message":"test progress: 100 percent"}
3232`
3333 require .Equal (t , expectedLogs , buf .String ())
3434}
35+
36+ func TestLogProgress1000 (t * testing.T ) {
37+ for total := 11 ; total < 1000 ; total ++ {
38+ buf := bytes .NewBufferString ("" )
39+ lg := zerolog .New (buf )
40+ logger := LogProgress ("test" , total , & lg )
41+ for i := 0 ; i < total ; i ++ {
42+ logger (i )
43+ }
44+
45+ expectedLogs := `{"level":"info","message":"test progress: 0 percent"}
46+ {"level":"info","message":"test progress: 10 percent"}
47+ {"level":"info","message":"test progress: 20 percent"}
48+ {"level":"info","message":"test progress: 30 percent"}
49+ {"level":"info","message":"test progress: 40 percent"}
50+ {"level":"info","message":"test progress: 50 percent"}
51+ {"level":"info","message":"test progress: 60 percent"}
52+ {"level":"info","message":"test progress: 70 percent"}
53+ {"level":"info","message":"test progress: 80 percent"}
54+ {"level":"info","message":"test progress: 90 percent"}
55+ {"level":"info","message":"test progress: 100 percent"}
56+ `
57+ require .Equal (t , expectedLogs , buf .String (), total )
58+ }
59+ }
0 commit comments