From 1d2ca509c77cbb2af0475b1319cd840f8ce9a1d0 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 6 Jul 2019 17:17:46 +0200 Subject: Split in packages --- internal/re/re_test.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 internal/re/re_test.go (limited to 'internal/re/re_test.go') diff --git a/internal/re/re_test.go b/internal/re/re_test.go new file mode 100644 index 0000000..9824392 --- /dev/null +++ b/internal/re/re_test.go @@ -0,0 +1,34 @@ +package re + +import "testing" + +func TestRE(t *testing.T) { + testCases := []struct { + r, s, x string + global bool + err error + }{ + {"/ddd/xxx/", "abd ddd xxx", "abd xxx xxx", false, nil}, + {",ddd,xxx,", "abd ddd xxx", "abd xxx xxx", false, nil}, + {"/ddd/xxx", "abd ddd xxx", "abd xxx xxx", false, nil}, + {"/x$/X", "abd ddd xxx", "abd ddd xxX", false, nil}, + {"/ /A", "abd ddd xxx", "abdAddd xxx", false, nil}, + {"/ /A", "abd ddd xxx", "abdAdddAxxx", true, nil}, + {"///", "abd ddd xxx", "abd ddd xxx", false, nil}, + {"//", "abd ddd xxx", "abd ddd xxx", false, nil}, + {"/", "abd ddd xxx", "", false, errNotRE}, + {"/1/2", "1", "2", false, nil}, + {"/^d/X", "abd ddd xxx", "abd ddd xxx", false, nil}, + } + for _, tc := range testCases { + t.Run(tc.r, func(t *testing.T) { + res, err := Replace(tc.s, tc.r, tc.global) + if err != tc.err { + t.Errorf("got %q, want %q", err, tc.err) + } + if res != tc.x { + t.Errorf("got %q, want %q", res, tc.x) + } + }) + } +} -- cgit v1.2.3