"math"
"math/rand"
"reflect"
+ "slices"
"strings"
"testing"
"unicode"
"unsafe"
)
-func eq(a, b []string) bool {
- if len(a) != len(b) {
- return false
- }
- for i := 0; i < len(a); i++ {
- if a[i] != b[i] {
- return false
- }
- }
- return true
-}
-
func sliceOfString(s [][]byte) []string {
result := make([]string, len(s))
for i, v := range s {
}
result := sliceOfString(a)
- if !eq(result, tt.a) {
+ if !slices.Equal(result, tt.a) {
t.Errorf(`Split(%q, %q, %d) = %v; want %v`, tt.s, tt.sep, tt.n, result, tt.a)
continue
}
}
result := sliceOfString(a)
- if !eq(result, tt.a) {
+ if !slices.Equal(result, tt.a) {
t.Errorf(`Split(%q, %q, %d) = %v; want %v`, tt.s, tt.sep, tt.n, result, tt.a)
continue
}
}
result := sliceOfString(a)
- if !eq(result, tt.a) {
+ if !slices.Equal(result, tt.a) {
t.Errorf("Fields(%q) = %v; want %v", tt.s, a, tt.a)
continue
}
for _, tt := range fieldstests {
a := FieldsFunc([]byte(tt.s), unicode.IsSpace)
result := sliceOfString(a)
- if !eq(result, tt.a) {
+ if !slices.Equal(result, tt.a) {
t.Errorf("FieldsFunc(%q, unicode.IsSpace) = %v; want %v", tt.s, a, tt.a)
continue
}
}
result := sliceOfString(a)
- if !eq(result, tt.a) {
+ if !slices.Equal(result, tt.a) {
t.Errorf("FieldsFunc(%q) = %v, want %v", tt.s, a, tt.a)
}
})
}
-func runesEqual(a, b []rune) bool {
- if len(a) != len(b) {
- return false
- }
- for i, r := range a {
- if r != b[i] {
- return false
- }
- }
- return true
-}
-
type RunesTest struct {
in string
out []rune
for _, tt := range RunesTests {
tin := []byte(tt.in)
a := Runes(tin)
- if !runesEqual(a, tt.out) {
+ if !slices.Equal(a, tt.out) {
t.Errorf("Runes(%q) = %v; want %v", tin, a, tt.out)
continue
}
"io"
"math"
"math/rand"
- "reflect"
+ "slices"
"strconv"
. "strings"
"testing"
}
if tt.n < 0 {
b := Split(tt.s, tt.sep)
- if !reflect.DeepEqual(a, b) {
+ if !slices.Equal(a, b) {
t.Errorf("Split disagrees with SplitN(%q, %q, %d) = %v; want %v", tt.s, tt.sep, tt.n, b, a)
}
}
}
if tt.n < 0 {
b := SplitAfter(tt.s, tt.sep)
- if !reflect.DeepEqual(a, b) {
+ if !slices.Equal(a, b) {
t.Errorf("SplitAfter disagrees with SplitAfterN(%q, %q, %d) = %v; want %v", tt.s, tt.sep, tt.n, b, a)
}
}
import (
"internal/testenv"
- "reflect"
+ "slices"
"testing"
"unicode"
. "unicode/utf16"
func TestEncode(t *testing.T) {
for _, tt := range encodeTests {
out := Encode(tt.in)
- if !reflect.DeepEqual(out, tt.out) {
+ if !slices.Equal(out, tt.out) {
t.Errorf("Encode(%x) = %x; want %x", tt.in, out, tt.out)
}
}
for _, u := range tt.in {
out = AppendRune(out, u)
}
- if !reflect.DeepEqual(out, tt.out) {
+ if !slices.Equal(out, tt.out) {
t.Errorf("AppendRune(%x) = %x; want %x", tt.in, out, tt.out)
}
}
func TestDecode(t *testing.T) {
for _, tt := range decodeTests {
out := Decode(tt.in)
- if !reflect.DeepEqual(out, tt.out) {
+ if !slices.Equal(out, tt.out) {
t.Errorf("Decode(%x) = %x; want %x", tt.in, out, tt.out)
}
}