diff options
Diffstat (limited to 'vendor/github.com/onsi/gomega/matchers.go')
-rw-r--r-- | vendor/github.com/onsi/gomega/matchers.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/vendor/github.com/onsi/gomega/matchers.go b/vendor/github.com/onsi/gomega/matchers.go index b58dd67cb..d6a099060 100644 --- a/vendor/github.com/onsi/gomega/matchers.go +++ b/vendor/github.com/onsi/gomega/matchers.go @@ -3,6 +3,7 @@ package gomega import ( "time" + "github.com/google/go-cmp/cmp" "github.com/onsi/gomega/matchers" "github.com/onsi/gomega/types" ) @@ -26,6 +27,15 @@ func BeEquivalentTo(expected interface{}) types.GomegaMatcher { } } +//BeComparableTo uses gocmp.Equal to compare. You can pass cmp.Option as options. +//It is an error for actual and expected to be nil. Use BeNil() instead. +func BeComparableTo(expected interface{}, opts ...cmp.Option) types.GomegaMatcher { + return &matchers.BeComparableToMatcher{ + Expected: expected, + Options: opts, + } +} + //BeIdenticalTo uses the == operator to compare actual with expected. //BeIdenticalTo is strict about types when performing comparisons. //It is an error for both actual and expected to be nil. Use BeNil() instead. @@ -394,6 +404,19 @@ func HaveField(field string, expected interface{}) types.GomegaMatcher { } } +// HaveExistingField succeeds if actual is a struct and the specified field +// exists. +// +// HaveExistingField can be combined with HaveField in order to cover use cases +// with optional fields. HaveField alone would trigger an error in such situations. +// +// Expect(MrHarmless).NotTo(And(HaveExistingField("Title"), HaveField("Title", "Supervillain"))) +func HaveExistingField(field string) types.GomegaMatcher { + return &matchers.HaveExistingFieldMatcher{ + Field: field, + } +} + // HaveValue applies the given matcher to the value of actual, optionally and // repeatedly dereferencing pointers or taking the concrete value of interfaces. // Thus, the matcher will always be applied to non-pointer and non-interface |