5 "github.com/onsi/gomega/format"
9 type ContainSubstringMatcher struct {
14 func (matcher *ContainSubstringMatcher) Match(actual interface{}) (success bool, err error) {
15 actualString, ok := toString(actual)
17 return false, fmt.Errorf("ContainSubstring matcher requires a string or stringer. Got:\n%s", format.Object(actual, 1))
20 return strings.Contains(actualString, matcher.stringToMatch()), nil
23 func (matcher *ContainSubstringMatcher) stringToMatch() string {
24 stringToMatch := matcher.Substr
25 if len(matcher.Args) > 0 {
26 stringToMatch = fmt.Sprintf(matcher.Substr, matcher.Args...)
31 func (matcher *ContainSubstringMatcher) FailureMessage(actual interface{}) (message string) {
32 return format.Message(actual, "to contain substring", matcher.stringToMatch())
35 func (matcher *ContainSubstringMatcher) NegatedFailureMessage(actual interface{}) (message string) {
36 return format.Message(actual, "not to contain substring", matcher.stringToMatch())