summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/onsi/gomega/matchers/match_error_matcher_test.go
diff options
context:
space:
mode:
authorRastislav Szabo <raszabo@cisco.com>2017-05-04 11:09:03 +0200
committerRastislav Szabo <raszabo@cisco.com>2017-05-04 11:12:35 +0200
commita101d966133a70b8a76526be25070436d14fcf9f (patch)
tree75e2dbf20de615e58252b780b2ba5baae8fdcf82 /vendor/github.com/onsi/gomega/matchers/match_error_matcher_test.go
parenta968ead74525125dff9ae90b1c9a9102e4327900 (diff)
initial commit
Signed-off-by: Rastislav Szabo <raszabo@cisco.com>
Diffstat (limited to 'vendor/github.com/onsi/gomega/matchers/match_error_matcher_test.go')
-rw-r--r--vendor/github.com/onsi/gomega/matchers/match_error_matcher_test.go93
1 files changed, 93 insertions, 0 deletions
diff --git a/vendor/github.com/onsi/gomega/matchers/match_error_matcher_test.go b/vendor/github.com/onsi/gomega/matchers/match_error_matcher_test.go
new file mode 100644
index 0000000..338b512
--- /dev/null
+++ b/vendor/github.com/onsi/gomega/matchers/match_error_matcher_test.go
@@ -0,0 +1,93 @@
+package matchers_test
+
+import (
+ "errors"
+ "fmt"
+ . "github.com/onsi/ginkgo"
+ . "github.com/onsi/gomega"
+ . "github.com/onsi/gomega/matchers"
+)
+
+type CustomError struct {
+}
+
+func (c CustomError) Error() string {
+ return "an error"
+}
+
+var _ = Describe("MatchErrorMatcher", func() {
+ Context("When asserting against an error", func() {
+ It("should succeed when matching with an error", func() {
+ err := errors.New("an error")
+ fmtErr := fmt.Errorf("an error")
+ customErr := CustomError{}
+
+ Ω(err).Should(MatchError(errors.New("an error")))
+ Ω(err).ShouldNot(MatchError(errors.New("another error")))
+
+ Ω(fmtErr).Should(MatchError(errors.New("an error")))
+ Ω(customErr).Should(MatchError(CustomError{}))
+ })
+
+ It("should succeed when matching with a string", func() {
+ err := errors.New("an error")
+ fmtErr := fmt.Errorf("an error")
+ customErr := CustomError{}
+
+ Ω(err).Should(MatchError("an error"))
+ Ω(err).ShouldNot(MatchError("another error"))
+
+ Ω(fmtErr).Should(MatchError("an error"))
+ Ω(customErr).Should(MatchError("an error"))
+ })
+
+ Context("when passed a matcher", func() {
+ It("should pass if the matcher passes against the error string", func() {
+ err := errors.New("error 123 abc")
+
+ Ω(err).Should(MatchError(MatchRegexp(`\d{3}`)))
+ })
+
+ It("should fail if the matcher fails against the error string", func() {
+ err := errors.New("no digits")
+ Ω(err).ShouldNot(MatchError(MatchRegexp(`\d`)))
+ })
+ })
+
+ It("should fail when passed anything else", func() {
+ actualErr := errors.New("an error")
+ _, err := (&MatchErrorMatcher{
+ Expected: []byte("an error"),
+ }).Match(actualErr)
+ Ω(err).Should(HaveOccurred())
+
+ _, err = (&MatchErrorMatcher{
+ Expected: 3,
+ }).Match(actualErr)
+ Ω(err).Should(HaveOccurred())
+ })
+ })
+
+ Context("when passed nil", func() {
+ It("should fail", func() {
+ _, err := (&MatchErrorMatcher{
+ Expected: "an error",
+ }).Match(nil)
+ Ω(err).Should(HaveOccurred())
+ })
+ })
+
+ Context("when passed a non-error", func() {
+ It("should fail", func() {
+ _, err := (&MatchErrorMatcher{
+ Expected: "an error",
+ }).Match("an error")
+ Ω(err).Should(HaveOccurred())
+
+ _, err = (&MatchErrorMatcher{
+ Expected: "an error",
+ }).Match(3)
+ Ω(err).Should(HaveOccurred())
+ })
+ })
+})