summaryrefslogtreecommitdiff
path: root/src/pkg/regexp/all_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/regexp/all_test.go')
-rw-r--r--src/pkg/regexp/all_test.go9
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 {