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

30 lines
826 B
Go

package page
import "testing"
func TestMoveFocus(t *testing.T) {
tests := []struct {
name string
current int
delta int
want int
}{
{"down from toggle goes to device", focusToggle, 1, 1},
{"down from device goes to track", 1, 1, 2},
{"down from track stays", 2, 1, 2},
{"up from track goes to device", 2, -1, 1},
{"up from device goes to toggle", 1, -1, focusToggle},
{"up from toggle stays", focusToggle, -1, focusToggle},
{"down does not overshoot below track", maxFocus, 5, maxFocus},
{"up does not undershoot above toggle", focusToggle, -5, focusToggle},
}
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)
}
})
}
}