packagematchersimport("fmt""github.com/onsi/gomega/format")typeHaveSuffixMatcherstruct{SuffixstringArgs[]interface{}}func(matcher*HaveSuffixMatcher)Match(actualinterface{})(successbool,errerror){actualString,ok:=toString(actual)if!ok{returnfalse,fmt.Errorf("HaveSuffix matcher requires a string or stringer. Got:\n%s",format.Object(actual,1))}suffix:=matcher.suffix()returnlen(actualString)>=len(suffix)&&actualString[len(actualString)-len(suffix):]==suffix,nil}func(matcher*HaveSuffixMatcher)suffix()string{iflen(matcher.Args)>0{returnfmt.Sprintf(matcher.Suffix,matcher.Args...)}returnmatcher.Suffix}func(matcher*HaveSuffixMatcher)FailureMessage(actualinterface{})(messagestring){returnformat.Message(actual,"to have suffix",matcher.suffix())}func(matcher*HaveSuffixMatcher)NegatedFailureMessage(actualinterface{})(messagestring){returnformat.Message(actual,"not to have suffix",matcher.suffix())}