Handle unicode characters in autotag (#2336)

This commit is contained in:
WithoutPants
2022-02-28 13:12:43 +11:00
committed by GitHub
parent c5c94e783e
commit 1ab5be162e
6 changed files with 41 additions and 11 deletions

View File

@@ -4,71 +4,90 @@ import "testing"
func Test_nameMatchesPath(t *testing.T) {
const name = "first last"
const unicodeName = "伏字"
tests := []struct {
name string
path string
want int
testName string
name string
path string
want int
}{
{
"exact",
name,
name,
0,
},
{
"partial",
name,
"first",
-1,
},
{
"separator",
name,
"first.last",
0,
},
{
"separator",
name,
"first-last",
0,
},
{
"separator",
name,
"first_last",
0,
},
{
"separators",
name,
"first.-_ last",
0,
},
{
"within string",
name,
"before_first last/after",
6,
},
{
"not within string",
name,
"beforefirst last/after",
-1,
},
{
"not within string",
name,
"before/first lastafter",
-1,
},
{
"not within string",
name,
"first last1",
-1,
},
{
"not within string",
name,
"1first last",
-1,
},
{
"unicode",
unicodeName,
unicodeName,
0,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := nameMatchesPath(name, tt.path); got != tt.want {
t.Run(tt.testName, func(t *testing.T) {
if got := nameMatchesPath(tt.name, tt.path); got != tt.want {
t.Errorf("nameMatchesPath() = %v, want %v", got, tt.want)
}
})