go/pkg/cli/spinner_test.go

42 lines
833 B
Go
Raw Normal View History

package cli
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestSpinner_Good_CreateAndStop(t *testing.T) {
s := NewSpinner("Loading...")
require.NotNil(t, s)
assert.Equal(t, "Loading...", s.Message())
s.Stop()
}
func TestSpinner_Good_UpdateMessage(t *testing.T) {
s := NewSpinner("Step 1")
s.Update("Step 2")
assert.Equal(t, "Step 2", s.Message())
s.Stop()
}
func TestSpinner_Good_Done(t *testing.T) {
s := NewSpinner("Building")
s.Done("Build complete")
// After Done, spinner is stopped — calling Stop again is safe
s.Stop()
}
func TestSpinner_Good_Fail(t *testing.T) {
s := NewSpinner("Checking")
s.Fail("Check failed")
s.Stop()
}
func TestSpinner_Good_DoubleStop(t *testing.T) {
s := NewSpinner("Loading")
s.Stop()
s.Stop() // Should not panic
}