blob: c7a650a8b63d800379a25202f0b69d7d50f4f300 [file] [log] [blame]
package matchers
import "github.com/onsi/gomega/types"
type WithTransformMatcher struct {
// input
Transform func(interface{}) interface{}
Matcher types.GomegaMatcher
// state
transformedValue interface{}
}
func (m *WithTransformMatcher) Match(actual interface{}) (bool, error) {
m.transformedValue = m.Transform(actual)
return m.Matcher.Match(m.transformedValue)
}
func (m *WithTransformMatcher) FailureMessage(actual interface{}) (message string) {
return m.Matcher.FailureMessage(m.transformedValue)
}
func (m *WithTransformMatcher) NegatedFailureMessage(actual interface{}) (message string) {
return m.Matcher.NegatedFailureMessage(m.transformedValue)
}