...

Source file src/github.com/onsi/gomega/matchers/match_regexp_matcher_test.go

Documentation: github.com/onsi/gomega/matchers

     1  package matchers_test
     2  
     3  import (
     4  	. "github.com/onsi/ginkgo/v2"
     5  	. "github.com/onsi/gomega"
     6  	. "github.com/onsi/gomega/matchers"
     7  )
     8  
     9  var _ = Describe("MatchRegexp", func() {
    10  	When("actual is a string", func() {
    11  		It("should match against the string", func() {
    12  			Expect(" a2!bla").Should(MatchRegexp(`\d!`))
    13  			Expect(" a2!bla").ShouldNot(MatchRegexp(`[A-Z]`))
    14  		})
    15  	})
    16  
    17  	When("actual is a stringer", func() {
    18  		It("should call the stringer and match agains the returned string", func() {
    19  			Expect(&myStringer{a: "Abc3"}).Should(MatchRegexp(`[A-Z][a-z]+\d`))
    20  		})
    21  	})
    22  
    23  	When("the matcher is called with multiple arguments", func() {
    24  		It("should pass the string and arguments to sprintf", func() {
    25  			Expect(" a23!bla").Should(MatchRegexp(`\d%d!`, 3))
    26  		})
    27  	})
    28  
    29  	When("actual is neither a string nor a stringer", func() {
    30  		It("should error", func() {
    31  			success, err := (&MatchRegexpMatcher{Regexp: `\d`}).Match(2)
    32  			Expect(success).Should(BeFalse())
    33  			Expect(err).Should(HaveOccurred())
    34  		})
    35  	})
    36  
    37  	When("the passed in regexp fails to compile", func() {
    38  		It("should error", func() {
    39  			success, err := (&MatchRegexpMatcher{Regexp: "("}).Match("Foo")
    40  			Expect(success).Should(BeFalse())
    41  			Expect(err).Should(HaveOccurred())
    42  		})
    43  	})
    44  
    45  	It("shows failure message", func() {
    46  		failuresMessages := InterceptGomegaFailures(func() {
    47  			Expect("foo").To(MatchRegexp("bar"))
    48  		})
    49  		Expect(failuresMessages).To(Equal([]string{"Expected\n    <string>: foo\nto match regular expression\n    <string>: bar"}))
    50  	})
    51  
    52  	It("shows negated failure message", func() {
    53  		failuresMessages := InterceptGomegaFailures(func() {
    54  			Expect("foo").ToNot(MatchRegexp("foo"))
    55  		})
    56  		Expect(failuresMessages).To(Equal([]string{"Expected\n    <string>: foo\nnot to match regular expression\n    <string>: foo"}))
    57  	})
    58  })
    59  

View as plain text