initial commit
[govpp.git] / vendor / github.com / onsi / gomega / matchers / have_occurred_matcher.go
diff --git a/vendor/github.com/onsi/gomega/matchers/have_occurred_matcher.go b/vendor/github.com/onsi/gomega/matchers/have_occurred_matcher.go
new file mode 100644 (file)
index 0000000..ebdd717
--- /dev/null
@@ -0,0 +1,33 @@
+package matchers
+
+import (
+       "fmt"
+
+       "github.com/onsi/gomega/format"
+)
+
+type HaveOccurredMatcher struct {
+}
+
+func (matcher *HaveOccurredMatcher) Match(actual interface{}) (success bool, err error) {
+       // is purely nil?
+       if actual == nil {
+               return false, nil
+       }
+
+       // must be an 'error' type
+       if !isError(actual) {
+               return false, fmt.Errorf("Expected an error-type.  Got:\n%s", format.Object(actual, 1))
+       }
+
+       // must be non-nil (or a pointer to a non-nil)
+       return !isNil(actual), nil
+}
+
+func (matcher *HaveOccurredMatcher) FailureMessage(actual interface{}) (message string) {
+       return fmt.Sprintf("Expected an error to have occurred.  Got:\n%s", format.Object(actual, 1))
+}
+
+func (matcher *HaveOccurredMatcher) NegatedFailureMessage(actual interface{}) (message string) {
+       return fmt.Sprintf("Expected error:\n%s\n%s\n%s", format.Object(actual, 1), format.IndentString(actual.(error).Error(), 1), "not to have occurred")
+}