vendor: Update gobwas/glob to fix question mark handling

This commit is contained in:
Jakob Borg 2016-10-23 15:47:31 +02:00
parent 7c37301c91
commit 4b3adfa21c
3 changed files with 36 additions and 12 deletions

View File

@ -769,3 +769,35 @@ func TestIssue3674(t *testing.T) {
} }
} }
} }
func TestGobwasGlobIssue18(t *testing.T) {
stignore := `
a?b
bb?
`
testcases := []struct {
file string
matches bool
}{
{"ab", false},
{"acb", true},
{"asdb", false},
{"bb", false},
{"bba", true},
{"bbaa", false},
}
pats := New(true)
err := pats.Parse(bytes.NewBufferString(stignore), ".stignore")
if err != nil {
t.Fatal(err)
}
for _, tc := range testcases {
res := pats.Match(tc.file).IsIgnored()
if res != tc.matches {
t.Errorf("Matches(%q) == %v, expected %v", tc.file, res, tc.matches)
}
}
}

View File

@ -45,12 +45,11 @@ func (self Row) lenOk(s string) bool {
var i int var i int
for _ = range s { for _ = range s {
i++ i++
if i >= self.RunesLength { if i > self.RunesLength {
return true return false
} }
} }
return self.RunesLength == i
return false
} }
func (self Row) Match(s string) bool { func (self Row) Match(s string) bool {
@ -62,21 +61,14 @@ func (self Row) Len() (l int) {
} }
func (self Row) Index(s string) (int, []int) { func (self Row) Index(s string) (int, []int) {
if !self.lenOk(s) {
return -1, nil
}
for i := range s { for i := range s {
// this is not strict check but useful
if len(s[i:]) < self.RunesLength { if len(s[i:]) < self.RunesLength {
break break
} }
if self.matchAll(s[i:]) { if self.matchAll(s[i:]) {
return i, self.Segments return i, self.Segments
} }
} }
return -1, nil return -1, nil
} }

2
vendor/manifest vendored
View File

@ -134,7 +134,7 @@
{ {
"importpath": "github.com/gobwas/glob", "importpath": "github.com/gobwas/glob",
"repository": "https://github.com/gobwas/glob", "repository": "https://github.com/gobwas/glob",
"revision": "ce6abff51712df5da11095fb41dd4b0353559797", "revision": "0354991b92587e2742549d3036f3b5bae5ab03f2",
"branch": "master", "branch": "master",
"notests": true "notests": true
}, },