Files
radiantwave-legacy/internal/page/AudioOptions_test.go
T
2026-08-08 00:54:18 -05:00

30 lines
812 B
Go

package page
import "testing"
func TestMoveFocus(t *testing.T) {
tests := []struct {
name string
current int
delta int
want int
}{
{"down from track goes to device", 0, 1, 1},
{"down from device goes to toggle", 1, 1, focusToggle},
{"down from toggle stays", focusToggle, 1, focusToggle},
{"up from toggle goes to device", focusToggle, -1, 1},
{"up from device goes to track", 1, -1, 0},
{"up from track stays", 0, -1, 0},
{"down does not overshoot below toggle", focusToggle, 5, focusToggle},
{"up does not undershoot above track", 0, -5, 0},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := moveFocus(tt.current, tt.delta); got != tt.want {
t.Errorf("moveFocus(%d, %d) = %d, want %d", tt.current, tt.delta, got, tt.want)
}
})
}
}