1
0
mirror of https://github.com/golang/go synced 2024-11-12 09:50:21 -07:00

path/filepath: clean up a triple negative.

also make the error prints better in the test.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4556069
This commit is contained in:
Rob Pike 2011-06-01 14:17:09 +10:00
parent 32e3644883
commit dcbf59cb4e
2 changed files with 11 additions and 5 deletions

View File

@ -124,9 +124,8 @@ func matchChunk(chunk, s string) (rest string, ok bool, err os.Error) {
s = s[n:]
chunk = chunk[1:]
// possibly negated
notNegated := true
if len(chunk) > 0 && chunk[0] == '^' {
notNegated = false
negated := chunk[0] == '^'
if negated {
chunk = chunk[1:]
}
// parse all ranges
@ -152,7 +151,7 @@ func matchChunk(chunk, s string) (rest string, ok bool, err os.Error) {
}
nrange++
}
if match != notNegated {
if match == negated {
return
}

View File

@ -69,6 +69,13 @@ var matchTests = []MatchTest{
{"*x", "xxx", true, nil},
}
func errp(e os.Error) string {
if e == nil {
return "<nil>"
}
return e.String()
}
func TestMatch(t *testing.T) {
if runtime.GOOS == "windows" {
// XXX: Don't pass for windows.
@ -77,7 +84,7 @@ func TestMatch(t *testing.T) {
for _, tt := range matchTests {
ok, err := Match(tt.pattern, tt.s)
if ok != tt.match || err != tt.err {
t.Errorf("Match(%#q, %#q) = %v, %v want %v, nil", tt.pattern, tt.s, ok, err, tt.match)
t.Errorf("Match(%#q, %#q) = %v, %q want %v, %q", tt.pattern, tt.s, ok, errp(err), tt.match, errp(tt.err))
}
}
}