forked from rosa/hakurei
The terribleness of GNU invites interesting helpers. Signed-off-by: Ophestra <cat@gensokyo.uk>
36 lines
690 B
Go
36 lines
690 B
Go
package rosa
|
|
|
|
import (
|
|
"slices"
|
|
"strconv"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestSkipGNUTests(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
testCases := []struct {
|
|
tests []int
|
|
want string
|
|
}{
|
|
{[]int{764}, "1-763 765-"},
|
|
{[]int{764, 0xcafe, 37, 9}, "1-8 10-36 38-763 765-51965 51967-"},
|
|
{[]int{1, 2, 0xbed}, "3-3052 3054-"},
|
|
{[]int{3, 4}, "1-2 5-"},
|
|
}
|
|
for _, tc := range testCases {
|
|
t.Run(strings.Join(slices.Collect(func(yield func(string) bool) {
|
|
for _, n := range tc.tests {
|
|
yield(strconv.Itoa(n))
|
|
}
|
|
}), ","), func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
if got := skipGNUTests(tc.tests...); got != tc.want {
|
|
t.Errorf("skipGNUTests: %q, want %q", got, tc.want)
|
|
}
|
|
})
|
|
}
|
|
}
|