@@ -464,6 +464,37 @@ func TestOptionSetElapsedTime_spinner(t *testing.T) {
464
464
}
465
465
}
466
466
467
+ func TestOptionSetElapsedTime (t * testing.T ) {
468
+ buf := strings.Builder {}
469
+ bar := NewOptions (
470
+ 10 ,
471
+ OptionSetElapsedTime (false ),
472
+ OptionSetPredictTime (false ),
473
+ OptionSetWidth (10 ),
474
+ OptionSetWriter (& buf ),
475
+ )
476
+
477
+ _ = bar .Add (2 )
478
+ result := strings .TrimSpace (buf .String ())
479
+ expect := "20% |██ |"
480
+
481
+ if result != expect {
482
+ t .Errorf ("Render miss-match\n Result: '%s'\n Expect: '%s'\n %+v" , result , expect , bar )
483
+ }
484
+
485
+ bar .Reset ()
486
+ bar .config .elapsedTime = true
487
+ buf .Reset ()
488
+
489
+ _ = bar .Add (7 )
490
+ result = strings .TrimSpace (buf .String ())
491
+ expect = "70% |███████ | [0s]"
492
+
493
+ if result != expect {
494
+ t .Errorf ("Render miss-match\n Result: '%s'\n Expect: '%s'\n %+v" , result , expect , bar )
495
+ }
496
+ }
497
+
467
498
func TestShowElapsedTimeOnFinish (t * testing.T ) {
468
499
buf := strings.Builder {}
469
500
bar := NewOptions (10 ,
@@ -739,9 +770,9 @@ func TestOptionFullWidth(t *testing.T) {
739
770
{ // 4
740
771
[]Option {OptionSetPredictTime (false )},
741
772
"" +
742
- "\r 10% |██████ | " +
743
- "\r \r " +
744
- "\r 100% |████████████████████████████████████████████████████████████████| " ,
773
+ "\r 10% |██████ | " +
774
+ "\r \r " +
775
+ "\r 100% |█████████████████████████████████████████████████████████████████████ | " ,
745
776
},
746
777
{ // 5
747
778
[]Option {OptionSetPredictTime (false ), OptionShowElapsedTimeOnFinish ()},
@@ -795,9 +826,9 @@ func TestOptionFullWidth(t *testing.T) {
795
826
{ // 12
796
827
[]Option {OptionShowIts (), OptionShowCount (), OptionSetPredictTime (false )},
797
828
"" +
798
- "\r 10% |████ | (10/100, 10 it/s) " +
799
- "\r \r " +
800
- "\r 100% |██████████████████████████████████████████████| (100/100, 50 it/s) " ,
829
+ "\r 10% |█████ | (10/100, 10 it/s) " +
830
+ "\r \r " +
831
+ "\r 100% |███████████████████████████████████████████████████ | (100/100, 50 it/s) " ,
801
832
},
802
833
{ // 13
803
834
[]Option {OptionShowIts (), OptionShowCount (), OptionSetPredictTime (false ), OptionShowElapsedTimeOnFinish ()},
0 commit comments