From fe79bd3d8b6225fbe584423e4c29a9af9ad51a96 Mon Sep 17 00:00:00 2001 From: sha1n Date: Fri, 16 Jan 2026 23:02:33 +0200 Subject: [PATCH] test: add ProgressBar isDone edge case tests --- progress_bar_test.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/progress_bar_test.go b/progress_bar_test.go index 710b9e5..a0b521f 100644 --- a/progress_bar_test.go +++ b/progress_bar_test.go @@ -129,3 +129,18 @@ func TestProgressBarStartWithCancelledContext(t *testing.T) { assert.Equal(t, context.Canceled, err) assert.Nil(t, tick) } + +func TestProgressBarIsDoneEdgeCases(t *testing.T) { + t.Run("maxTicks 0", func(t *testing.T) { + bar := NewDefaultProgressBar(new(bytes.Buffer), 0, fakeTerminalWidthFn) + assert.True(t, bar.IsDone()) + assert.False(t, bar.Tick()) + }) + + t.Run("maxTicks 1", func(t *testing.T) { + bar := NewDefaultProgressBar(new(bytes.Buffer), 1, fakeTerminalWidthFn) + assert.False(t, bar.IsDone()) + assert.False(t, bar.Tick()) // 1st tick makes it 100% and returns false + assert.True(t, bar.IsDone()) + }) +}