summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/onsi/gomega/matchers/have_occurred_matcher_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/onsi/gomega/matchers/have_occurred_matcher_test.go')
-rw-r--r--vendor/github.com/onsi/gomega/matchers/have_occurred_matcher_test.go58
1 files changed, 58 insertions, 0 deletions
diff --git a/vendor/github.com/onsi/gomega/matchers/have_occurred_matcher_test.go b/vendor/github.com/onsi/gomega/matchers/have_occurred_matcher_test.go
new file mode 100644
index 0000000..009e23e
--- /dev/null
+++ b/vendor/github.com/onsi/gomega/matchers/have_occurred_matcher_test.go
@@ -0,0 +1,58 @@
+package matchers_test
+
+import (
+ "errors"
+ . "github.com/onsi/ginkgo"
+ . "github.com/onsi/gomega"
+ . "github.com/onsi/gomega/matchers"
+)
+
+type CustomErr struct {
+ msg string
+}
+
+func (e *CustomErr) Error() string {
+ return e.msg
+}
+
+var _ = Describe("HaveOccurred", func() {
+ It("should succeed if matching an error", func() {
+ Ω(errors.New("Foo")).Should(HaveOccurred())
+ })
+
+ It("should not succeed with nil", func() {
+ Ω(nil).ShouldNot(HaveOccurred())
+ })
+
+ It("should only support errors and nil", func() {
+ success, err := (&HaveOccurredMatcher{}).Match("foo")
+ Ω(success).Should(BeFalse())
+ Ω(err).Should(HaveOccurred())
+
+ success, err = (&HaveOccurredMatcher{}).Match("")
+ Ω(success).Should(BeFalse())
+ Ω(err).Should(HaveOccurred())
+ })
+
+ It("doesn't support non-error type", func() {
+ success, err := (&HaveOccurredMatcher{}).Match(AnyType{})
+ Ω(success).Should(BeFalse())
+ Ω(err).Should(MatchError("Expected an error-type. Got:\n <matchers_test.AnyType>: {}"))
+ })
+
+ It("doesn't support non-error pointer type", func() {
+ success, err := (&HaveOccurredMatcher{}).Match(&AnyType{})
+ Ω(success).Should(BeFalse())
+ Ω(err).Should(MatchError(MatchRegexp(`Expected an error-type. Got:\n <*matchers_test.AnyType | 0x[[:xdigit:]]+>: {}`)))
+ })
+
+ It("should succeed with pointer types that conform to error interface", func() {
+ err := &CustomErr{"ohai"}
+ Ω(err).Should(HaveOccurred())
+ })
+
+ It("should not succeed with nil pointers to types that conform to error interface", func() {
+ var err *CustomErr = nil
+ Ω(err).ShouldNot(HaveOccurred())
+ })
+})