diff options
Diffstat (limited to 'src/pkg/regexp/all_test.go')
-rw-r--r-- | src/pkg/regexp/all_test.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/pkg/regexp/all_test.go b/src/pkg/regexp/all_test.go index c1f6795e7..62dad3aa0 100644 --- a/src/pkg/regexp/all_test.go +++ b/src/pkg/regexp/all_test.go @@ -28,6 +28,7 @@ var good_re = []string{ `[abc]`, `[^1234]`, `[^\n]`, + `\!\\`, } type stringError struct { @@ -100,6 +101,14 @@ var matches = []tester{ // fixed bugs tester{`ab$`, "cab", vec{1, 3}}, tester{`axxb$`, "axxcb", vec{}}, + + // can backslash-escape any punctuation + tester{`\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\{\|\}\~`, + `!"#$%&'()*+,-./:;<=>?@[\]^_{|}~`, vec{0, 31}}, + tester{`[\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\{\|\}\~]+`, + `!"#$%&'()*+,-./:;<=>?@[\]^_{|}~`, vec{0, 31}}, + tester{"\\`", "`", vec{0, 1}}, + tester{"[\\`]+", "`", vec{0, 1}}, } func compileTest(t *testing.T, expr string, error os.Error) *Regexp { |