mirror of https://github.com/stretchr/testify.git
Merge pull request #1537 from stretchr/fix-time-equal
Revert "assert: ObjectsAreEqual: use time.Equal for time.Time type"pull/1540/head
commit
fef12e7dc3
|
@ -59,25 +59,20 @@ func ObjectsAreEqual(expected, actual interface{}) bool {
|
||||||
if expected == nil || actual == nil {
|
if expected == nil || actual == nil {
|
||||||
return expected == actual
|
return expected == actual
|
||||||
}
|
}
|
||||||
switch exp := expected.(type) {
|
|
||||||
case []byte:
|
exp, ok := expected.([]byte)
|
||||||
act, ok := actual.([]byte)
|
if !ok {
|
||||||
if !ok {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
if exp == nil || act == nil {
|
|
||||||
return exp == nil && act == nil
|
|
||||||
}
|
|
||||||
return bytes.Equal(exp, act)
|
|
||||||
case time.Time:
|
|
||||||
act, ok := actual.(time.Time)
|
|
||||||
if !ok {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return exp.Equal(act)
|
|
||||||
default:
|
|
||||||
return reflect.DeepEqual(expected, actual)
|
return reflect.DeepEqual(expected, actual)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
act, ok := actual.([]byte)
|
||||||
|
if !ok {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if exp == nil || act == nil {
|
||||||
|
return exp == nil && act == nil
|
||||||
|
}
|
||||||
|
return bytes.Equal(exp, act)
|
||||||
}
|
}
|
||||||
|
|
||||||
// copyExportedFields iterates downward through nested data structures and creates a copy
|
// copyExportedFields iterates downward through nested data structures and creates a copy
|
||||||
|
|
|
@ -148,8 +148,8 @@ func TestObjectsAreEqualValues(t *testing.T) {
|
||||||
{uint32(10), int32(10), true},
|
{uint32(10), int32(10), true},
|
||||||
{0, nil, false},
|
{0, nil, false},
|
||||||
{nil, 0, false},
|
{nil, 0, false},
|
||||||
{now, now.In(time.Local), true}, // should be time zone independent
|
{now, now.In(time.Local), false}, // should not be time zone independent
|
||||||
{int(270), int8(14), false}, // should handle overflow/underflow
|
{int(270), int8(14), false}, // should handle overflow/underflow
|
||||||
{int8(14), int(270), false},
|
{int8(14), int(270), false},
|
||||||
{[]int{270, 270}, []int8{14, 14}, false},
|
{[]int{270, 270}, []int8{14, 14}, false},
|
||||||
{complex128(1e+100 + 1e+100i), complex64(complex(math.Inf(0), math.Inf(0))), false},
|
{complex128(1e+100 + 1e+100i), complex64(complex(math.Inf(0), math.Inf(0))), false},
|
||||||
|
|
Loading…
Reference in New Issue