summaryrefslogtreecommitdiff
path: root/re_test.go
diff options
context:
space:
mode:
Diffstat (limited to 're_test.go')
-rw-r--r--re_test.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/re_test.go b/re_test.go
new file mode 100644
index 0000000..447c60f
--- /dev/null
+++ b/re_test.go
@@ -0,0 +1,28 @@
+package main
+
+import "testing"
+
+func TestRE(t *testing.T) {
+ testCases := []struct {
+ r, s, x string
+ }{
+ {"s/ddd/xxx/", "abd ddd xxx", "abd xxx xxx"},
+ {"s,ddd,xxx,", "abd ddd xxx", "abd xxx xxx"},
+ {"s/ddd/xxx", "abd ddd xxx", "abd xxx xxx"},
+ {"s/x$/X", "abd ddd xxx", "abd ddd xxX"},
+ {"s/ /A", "abd ddd xxx", "abdAdddAxxx"},
+ {"s///", "abd ddd xxx", "abd ddd xxx"},
+ {"s//", "abd ddd xxx", "abd ddd xxx"},
+ {"s/", "abd ddd xxx", ""},
+ {"S//", "abd ddd xxx", ""},
+ {"s/^d/X", "abd ddd xxx", "abd ddd xxx"},
+ }
+ for _, tc := range testCases {
+ t.Run(tc.r, func(t *testing.T) {
+ res := re(tc.s, tc.r)
+ if res != tc.x {
+ t.Errorf("got %q, want %q", res, tc.x)
+ }
+ })
+ }
+}