Merge pull request #1586 from redachl/fix/equal-exported-values-accepts-everything

assert.EqualExportedValues: accepts everything
pull/1518/head
Bracken 2024-10-23 23:39:08 +01:00 committed by GitHub
commit 7efaf15f33
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 50 additions and 15 deletions

View File

@ -621,21 +621,6 @@ func EqualExportedValues(t TestingT, expected, actual interface{}, msgAndArgs ..
return Fail(t, fmt.Sprintf("Types expected to match exactly\n\t%v != %v", aType, bType), msgAndArgs...)
}
if aType.Kind() == reflect.Ptr {
aType = aType.Elem()
}
if bType.Kind() == reflect.Ptr {
bType = bType.Elem()
}
if aType.Kind() != reflect.Struct {
return Fail(t, fmt.Sprintf("Types expected to both be struct or pointer to struct \n\t%v != %v", aType.Kind(), reflect.Struct), msgAndArgs...)
}
if bType.Kind() != reflect.Struct {
return Fail(t, fmt.Sprintf("Types expected to both be struct or pointer to struct \n\t%v != %v", bType.Kind(), reflect.Struct), msgAndArgs...)
}
expected = copyExportedFields(expected)
actual = copyExportedFields(actual)

View File

@ -449,6 +449,56 @@ func TestEqualExportedValues(t *testing.T) {
+ Exported: (int) 1,
notExported: (interface {}) <nil>`,
},
{
value1: []int{1, 2},
value2: []int{1, 2},
expectedEqual: true,
},
{
value1: []int{1, 2},
value2: []int{1, 3},
expectedEqual: false,
expectedFail: `
Diff:
--- Expected
+++ Actual
@@ -2,3 +2,3 @@
(int) 1,
- (int) 2
+ (int) 3
}`,
},
{
value1: []*Nested{
{1, 2},
{3, 4},
},
value2: []*Nested{
{1, "a"},
{3, "b"},
},
expectedEqual: true,
},
{
value1: []*Nested{
{1, 2},
{3, 4},
},
value2: []*Nested{
{1, "a"},
{2, "b"},
},
expectedEqual: false,
expectedFail: `
Diff:
--- Expected
+++ Actual
@@ -6,3 +6,3 @@
(*assert.Nested)({
- Exported: (int) 3,
+ Exported: (int) 2,
notExported: (interface {}) <nil>`,
},
}
for _, c := range cases {