Skip to content

Commit ea7129e

Browse files
committed
better fmt
1 parent be992af commit ea7129e

File tree

1 file changed

+23
-13
lines changed

1 file changed

+23
-13
lines changed

Diff for: mock/mock.go

+23-13
Original file line numberDiff line numberDiff line change
@@ -1205,21 +1205,31 @@ func assertOpts(expected, actual interface{}) (expectedFmt, actualFmt string) {
12051205
expectedOpts := reflect.ValueOf(expected)
12061206
actualOpts := reflect.ValueOf(actual)
12071207

1208+
var expectedFuncs []*runtime.Func
1209+
var expectedNames []string
1210+
for i := 0; i < expectedOpts.Len(); i++ {
1211+
f := runtimeFunc(expectedOpts.Index(i).Interface())
1212+
expectedFuncs = append(expectedFuncs, f)
1213+
expectedNames = append(expectedNames, funcName(f))
1214+
}
1215+
var actualFuncs []*runtime.Func
1216+
var actualNames []string
1217+
for i := 0; i < actualOpts.Len(); i++ {
1218+
f := runtimeFunc(actualOpts.Index(i).Interface())
1219+
actualFuncs = append(actualFuncs, f)
1220+
actualNames = append(actualNames, funcName(f))
1221+
}
1222+
12081223
if expectedOpts.Len() != actualOpts.Len() {
1209-
expectedFmt = fmt.Sprintf("%v", expected)
1210-
actualFmt = fmt.Sprintf("%v", actual)
1224+
expectedFmt = fmt.Sprintf("%v", expectedNames)
1225+
actualFmt = fmt.Sprintf("%v", actualNames)
12111226
return
12121227
}
12131228

1214-
var funcNames []string
1215-
12161229
for i := 0; i < expectedOpts.Len(); i++ {
1217-
expectedFunc := getRuntimeFunc(expectedOpts.Index(i).Interface())
1218-
funcNames = append(funcNames, funcName(getRuntimeFunc(expectedFunc)))
1219-
1220-
if actualFunc := getRuntimeFunc(actualOpts.Index(i).Interface()); !isFuncSame(expectedFunc, actualFunc) {
1221-
expectedFmt = funcName(expectedFunc)
1222-
actualFmt = funcName(actualFunc)
1230+
if !isFuncSame(expectedFuncs[i], actualFuncs[i]) {
1231+
expectedFmt = expectedNames[i]
1232+
actualFmt = actualNames[i]
12231233
return
12241234
}
12251235
}
@@ -1246,8 +1256,8 @@ func assertOpts(expected, actual interface{}) (expectedFmt, actualFmt string) {
12461256

12471257
for i := 0; i < ot.NumIn(); i++ {
12481258
if expectedArg, actualArg := expectedValues[i].Interface(), actualValues[i].Interface(); !assert.ObjectsAreEqual(expectedArg, actualArg) {
1249-
expectedFmt = fmt.Sprintf("%s(%T) -> %#v", funcNames[i], expectedArg, expectedArg)
1250-
actualFmt = fmt.Sprintf("%s(%T) -> %#v", funcNames[i], actualArg, actualArg)
1259+
expectedFmt = fmt.Sprintf("%s(%T) -> %#v", expectedNames[i], expectedArg, expectedArg)
1260+
actualFmt = fmt.Sprintf("%s(%T) -> %#v", expectedNames[i], actualArg, actualArg)
12511261
return
12521262
}
12531263
}
@@ -1256,7 +1266,7 @@ func assertOpts(expected, actual interface{}) (expectedFmt, actualFmt string) {
12561266
return "", ""
12571267
}
12581268

1259-
func getRuntimeFunc(opt interface{}) *runtime.Func {
1269+
func runtimeFunc(opt interface{}) *runtime.Func {
12601270
return runtime.FuncForPC(reflect.ValueOf(opt).Pointer())
12611271
}
12621272

0 commit comments

Comments
 (0)