gobwas / glob

Go glob

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unexpected result with `PrefixSuffix.Match`

Chrstm opened this issue · comments

commented

The PrefixSuffix.Match doesn't consider the condition that the prefix overlaps with the suffix.
version: v0.2.3
POC:

func main() {
	g, _ := glob.Compile("a*ant")
	fmt.Println(g.Match("an ant")) // true EXPECTED
	fmt.Println(g.Match("ant"))    // true UNEXPECTED

	g, _ = glob.Compile("br*r")
	fmt.Println(g.Match("brother")) // true EXPECTED
	fmt.Println(g.Match("br"))      // true UNEXPECTED

	g, _ = glob.Compile("so*so")
	fmt.Println(g.Match("so so")) // true EXPECTED
	fmt.Println(g.Match("so"))    // true UNEXPECTED
}

Hey @Chrstm can you check it against the v0.3 branch?

commented

I checked. The result of feature/v0.3 is the same as v0.2.3. It still compile the pattern as a PrefixSuffix matcher.