diff options
| author | Paul Buetow <pbuetow@mimecast.com> | 2020-09-04 14:07:51 +0300 |
|---|---|---|
| committer | Paul Buetow <pbuetow@mimecast.com> | 2020-09-04 14:07:51 +0300 |
| commit | 26ba76807853ec7d98b6190a72f4031f3cd80bed (patch) | |
| tree | 7a8c8fec1cc515e5585c08029786b525cacf879a /internal/regex/regex_test.go | |
| parent | 2bb621846f784d8ef66a4ffa1a6412e996d7b615 (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.go | 50 |
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()) + } } |
