Skip to content

Commit 726249e

Browse files
Merge pull request #1582 from myxo/master
Fix time.Time compare
2 parents be3fbeb + 17b83c5 commit 726249e

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

‎assert/assertion_compare.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,13 @@ func compare(obj1, obj2 interface{}, kind reflect.Kind) (compareResult, bool) {
328328
timeObj2 = obj2Value.Convert(timeType).Interface().(time.Time)
329329
}
330330

331-
return compare(timeObj1.UnixNano(), timeObj2.UnixNano(), reflect.Int64)
331+
if timeObj1.Before(timeObj2) {
332+
return compareLess, true
333+
}
334+
if timeObj1.Equal(timeObj2) {
335+
return compareEqual, true
336+
}
337+
return compareGreater, true
332338
}
333339
case reflect.Slice:
334340
{

‎assert/assertion_compare_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ func TestCompare(t *testing.T) {
5959
{less: uintptr(1), greater: uintptr(2), cType: "uintptr"},
6060
{less: customUintptr(1), greater: customUintptr(2), cType: "uint64"},
6161
{less: time.Now(), greater: time.Now().Add(time.Hour), cType: "time.Time"},
62+
{less: time.Date(2024, 0, 0, 0, 0, 0, 0, time.Local), greater: time.Date(2263, 0, 0, 0, 0, 0, 0, time.Local), cType: "time.Time"},
6263
{less: customTime(time.Now()), greater: customTime(time.Now().Add(time.Hour)), cType: "time.Time"},
6364
{less: []byte{1, 1}, greater: []byte{1, 2}, cType: "[]byte"},
6465
{less: customBytes([]byte{1, 1}), greater: customBytes([]byte{1, 2}), cType: "[]byte"},

0 commit comments

Comments
 (0)