summaryrefslogtreecommitdiff
path: root/internal/regex/regex_test.go
diff options
context:
space:
mode:
authorPaul Buetow <pbuetow@mimecast.com>2020-09-04 14:07:51 +0300
committerPaul Buetow <pbuetow@mimecast.com>2020-09-04 14:07:51 +0300
commit26ba76807853ec7d98b6190a72f4031f3cd80bed (patch)
tree7a8c8fec1cc515e5585c08029786b525cacf879a /internal/regex/regex_test.go
parent2bb621846f784d8ef66a4ffa1a6412e996d7b615 (diff)
add more unit tests and deserializer/serializer to regex
Diffstat (limited to 'internal/regex/regex_test.go')
-rw-r--r--internal/regex/regex_test.go50
1 files changed, 41 insertions, 9 deletions
diff --git a/internal/regex/regex_test.go b/internal/regex/regex_test.go
index a90aee2..acdd518 100644
--- a/internal/regex/regex_test.go
+++ b/internal/regex/regex_test.go
@@ -1,16 +1,48 @@
package regex
-import "testing"
+import (
+ "testing"
+)
func TestRegex(t *testing.T) {
+ input := "hello"
- input := "hello"
- r, err := New(".hello", Default)
- if err != nil {
- t.Errorf("error: unable to create regex: %v\n", err)
- }
+ r := NewNoop()
+ if !r.MatchString(input) {
+ t.Errorf("expected to match string '%s' with noop regex '%v' but didn't\n", input, r)
+ }
- if r.MatchString(input) {
- t.Errorf("error: expected to match string '%s' with regex '%v' but didnt\n", input, r)
- }
+ r, err := New(".hello", Default)
+ if err != nil {
+ t.Errorf("unable to create regex: %v\n", err)
+ }
+ if r.MatchString(input) {
+ t.Errorf("expected to match string '%s' with regex '%v' but didn't\n", input, r)
+ }
+
+ r2, err := Deserialize(r.Serialize())
+ if err != nil {
+ t.Errorf("unable to serialize deserialized regex: %v: %v\n", r.Serialize(), err)
+ }
+ if r.String() != r2.String() {
+ t.Errorf("regex should be the same after deserialize(serialize(..)), got '%s' but expected '%s'.\n",
+ r2.String(), r.String())
+ }
+
+ r, err = New(".hello", Negate)
+ if err != nil {
+ t.Errorf("unable to create regex: %v\n", err)
+ }
+ if !r.MatchString(input) {
+ t.Errorf("expected to not match string '%s' with regex '%v' but matched\n", input, r)
+ }
+
+ r2, err = Deserialize(r.Serialize())
+ if err != nil {
+ t.Errorf("unable to serialize deserialized regex: %v: %v\n", r.Serialize(), err)
+ }
+ if r.String() != r2.String() {
+ t.Errorf("regex should be the same after deserialize(serialize(..)), got '%s' but expected '%s'.\n",
+ r2.String(), r.String())
+ }
}