File tree 2 files changed +39
-1
lines changed
2 files changed +39
-1
lines changed Original file line number Diff line number Diff line change @@ -57,7 +57,10 @@ export class ParamTypes {
57
57
return match ? new Date ( match [ 1 ] , match [ 2 ] - 1 , match [ 3 ] ) : undefined ;
58
58
} ,
59
59
is : ( val ) => val instanceof Date && ! isNaN ( val . valueOf ( ) ) ,
60
- equals ( a , b ) { return this . is ( a ) && this . is ( b ) && a . toISOString ( ) === b . toISOString ( ) ; } ,
60
+ equals ( l , r ) {
61
+ return [ 'getFullYear' , 'getMonth' , 'getDate' ]
62
+ . reduce ( ( acc , fn ) => acc && l [ fn ] ( ) === r [ fn ] ( ) , true )
63
+ } ,
61
64
pattern : / [ 0 - 9 ] { 4 } - (?: 0 [ 1 - 9 ] | 1 [ 0 - 2 ] ) - (?: 0 [ 1 - 9 ] | [ 1 - 2 ] [ 0 - 9 ] | 3 [ 0 - 1 ] ) / ,
62
65
capture : / ( [ 0 - 9 ] { 4 } ) - ( 0 [ 1 - 9 ] | 1 [ 0 - 2 ] ) - ( 0 [ 1 - 9 ] | [ 1 - 2 ] [ 0 - 9 ] | 3 [ 0 - 1 ] ) /
63
66
} ,
Original file line number Diff line number Diff line change
1
+ import { ParamTypes } from "../src/core" ;
2
+
3
+ describe ( 'parameters' , ( ) => {
4
+ let types ;
5
+
6
+ beforeEach ( ( ) => types = new ParamTypes ( ) ) ;
7
+
8
+ describe ( 'date type' , ( ) => {
9
+ let dateType ;
10
+ beforeEach ( ( ) => dateType = types . type ( "date" ) ) ;
11
+
12
+ it ( 'should compare dates' , ( ) => {
13
+ let date1 = new Date ( '2010-01-01' ) ;
14
+ let date2 = new Date ( '2010-01-01' ) ;
15
+
16
+ let date3 = new Date ( '2010-02-01' ) ;
17
+
18
+ expect ( dateType . equals ( date1 , date2 ) ) . toBeTruthy ( ) ;
19
+ expect ( dateType . equals ( date1 , date3 ) ) . toBeFalsy ( ) ;
20
+ } ) ;
21
+
22
+ it ( 'should compare year/month/day only' , ( ) => {
23
+ let date1 = new Date ( '2010-01-01' ) ;
24
+ date1 . setHours ( 1 ) ;
25
+ let date2 = new Date ( '2010-01-01' ) ;
26
+ date2 . setHours ( 2 ) ;
27
+ let date3 = new Date ( '2010-02-01' ) ;
28
+ date3 . setHours ( 3 ) ;
29
+
30
+ // Failing test case for #2484
31
+ expect ( dateType . equals ( date1 , date2 ) ) . toBeTruthy ( ) ;
32
+ expect ( dateType . equals ( date1 , date3 ) ) . toBeFalsy ( ) ;
33
+ } ) ;
34
+ } ) ;
35
+ } ) ;
You can’t perform that action at this time.
0 commit comments