Skip to content

Commit

Permalink
fix map[string]struct{} map[string]interface{} Argument compare panic
Browse files Browse the repository at this point in the history
  • Loading branch information
lecw199 committed Jun 10, 2023
1 parent f97607b commit ab0d20a
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
3 changes: 2 additions & 1 deletion mock/mock.go
Original file line number Diff line number Diff line change
Expand Up @@ -952,7 +952,8 @@ func (args Arguments) Diff(objects []interface{}) (string, int) {
}
} else if reflect.TypeOf(expected) == reflect.TypeOf((*AnythingOfTypeArgument)(nil)).Elem() {
// type checking
if reflect.TypeOf(actual).Name() != string(expected.(AnythingOfTypeArgument)) && reflect.TypeOf(actual).String() != string(expected.(AnythingOfTypeArgument)) {
if reflect.TypeOf(actual).Name() != string(expected.(AnythingOfTypeArgument)) &&
strings.ReplaceAll(reflect.TypeOf(actual).String(), " ", "") != strings.ReplaceAll(string(expected.(AnythingOfTypeArgument)), " ", "") {
// not match
differences++
output = fmt.Sprintf("%s\t%d: FAIL: type %s != type %s - %s\n", output, i, expected, reflect.TypeOf(actual).Name(), actualFmt)
Expand Down
22 changes: 22 additions & 0 deletions mock/mock_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1732,6 +1732,28 @@ func Test_Arguments_Diff_WithAnythingOfTypeArgument(t *testing.T) {

}

func Test_Arguments_Diff_WithAnythingOfTypeArgument_MapInterface(t *testing.T) {

var args = Arguments([]interface{}{AnythingOfType("*map[string]interface{}")})
var count int
param := make(map[string]interface{})
_, count = args.Diff([]interface{}{&param})

assert.Equal(t, 0, count)

}

func Test_Arguments_Diff_WithAnythingOfTypeArgument_MapStruct(t *testing.T) {

var args = Arguments([]interface{}{AnythingOfType("*map[string]struct{}")})
var count int
param := make(map[string]struct{})
_, count = args.Diff([]interface{}{&param})

assert.Equal(t, 0, count)

}

func Test_Arguments_Diff_WithAnythingOfTypeArgument_Failing(t *testing.T) {

var args = Arguments([]interface{}{"string", AnythingOfType("string"), true})
Expand Down

0 comments on commit ab0d20a

Please sign in to comment.