51 lines
1.3 KiB
Go
51 lines
1.3 KiB
Go
// Copyright 2013 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package json
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
)
|
|
|
|
func FuzzEqualFold(f *testing.F) {
|
|
for _, ss := range [][2]string{
|
|
{"", ""},
|
|
{"123abc", "123ABC"},
|
|
{"αβδ", "ΑΒΔ"},
|
|
{"abc", "xyz"},
|
|
{"abc", "XYZ"},
|
|
{"1", "2"},
|
|
{"hello, world!", "hello, world!"},
|
|
{"hello, world!", "Hello, World!"},
|
|
{"hello, world!", "HELLO, WORLD!"},
|
|
{"hello, world!", "jello, world!"},
|
|
{"γειά, κόσμε!", "γειά, κόσμε!"},
|
|
{"γειά, κόσμε!", "Γειά, Κόσμε!"},
|
|
{"γειά, κόσμε!", "ΓΕΙΆ, ΚΌΣΜΕ!"},
|
|
{"γειά, κόσμε!", "ΛΕΙΆ, ΚΌΣΜΕ!"},
|
|
{"AESKey", "aesKey"},
|
|
{"AESKEY", "aes_key"},
|
|
{"aes_key", "AES_KEY"},
|
|
{"AES_KEY", "aes-key"},
|
|
{"aes-key", "AES-KEY"},
|
|
{"AES-KEY", "aesKey"},
|
|
{"aesKey", "AesKey"},
|
|
{"AesKey", "AESKey"},
|
|
{"AESKey", "aeskey"},
|
|
{"DESKey", "aeskey"},
|
|
{"AES Key", "aeskey"},
|
|
} {
|
|
f.Add([]byte(ss[0]), []byte(ss[1]))
|
|
}
|
|
equalFold := func(x, y []byte) bool { return string(foldName(x)) == string(foldName(y)) }
|
|
f.Fuzz(func(t *testing.T, x, y []byte) {
|
|
got := equalFold(x, y)
|
|
want := bytes.EqualFold(x, y)
|
|
if got != want {
|
|
t.Errorf("equalFold(%q, %q) = %v, want %v", x, y, got, want)
|
|
}
|
|
})
|
|
}
|