@@ -73,7 +73,7 @@ describe('MatTimepicker', () => {
73
73
74
74
expect ( getPanel ( ) ) . toBeFalsy ( ) ;
75
75
expect ( input . value ) . toBe ( '12:30 AM' ) ;
76
- expect ( fixture . componentInstance . input . value ( ) ) . toEqual ( createTime ( 0 , 30 ) ) ;
76
+ expectSameTime ( fixture . componentInstance . input . value ( ) , createTime ( 0 , 30 ) ) ;
77
77
expect ( fixture . componentInstance . selectedSpy ) . toHaveBeenCalledTimes ( 1 ) ;
78
78
expect ( fixture . componentInstance . selectedSpy ) . toHaveBeenCalledWith (
79
79
jasmine . objectContaining ( {
@@ -91,7 +91,7 @@ describe('MatTimepicker', () => {
91
91
92
92
// Initial value
93
93
expect ( fixture . componentInstance . value ) . toBeTruthy ( ) ;
94
- expect ( inputInstance . value ( ) ) . toEqual ( fixture . componentInstance . value ( ) ) ;
94
+ expectSameTime ( inputInstance . value ( ) , fixture . componentInstance . value ( ) ) ;
95
95
96
96
// Propagation from input back to host
97
97
clearElement ( input ) ;
@@ -100,7 +100,7 @@ describe('MatTimepicker', () => {
100
100
let value = inputInstance . value ( ) ! ;
101
101
expect ( adapter . getHours ( value ) ) . toBe ( 11 ) ;
102
102
expect ( adapter . getMinutes ( value ) ) . toBe ( 15 ) ;
103
- expect ( fixture . componentInstance . value ( ) ) . toEqual ( value ) ;
103
+ expectSameTime ( fixture . componentInstance . value ( ) , value ) ;
104
104
105
105
// Propagation from host down to input
106
106
fixture . componentInstance . value . set ( createTime ( 13 , 37 ) ) ;
@@ -109,7 +109,7 @@ describe('MatTimepicker', () => {
109
109
value = inputInstance . value ( ) ! ;
110
110
expect ( adapter . getHours ( value ) ) . toBe ( 13 ) ;
111
111
expect ( adapter . getMinutes ( value ) ) . toBe ( 37 ) ;
112
- expect ( value ) . toEqual ( fixture . componentInstance . value ( ) ) ;
112
+ expectSameTime ( fixture . componentInstance . value ( ) , value ) ;
113
113
} ) ) ;
114
114
115
115
it ( 'should emit the `selected` event if the option being clicked was selected already' , fakeAsync ( ( ) => {
@@ -169,7 +169,7 @@ describe('MatTimepicker', () => {
169
169
170
170
// The user's value shouldn't be overwritten.
171
171
expect ( input . value ) . toBe ( '13:37' ) ;
172
- expect ( fixture . componentInstance . input . value ( ) ) . toEqual ( createTime ( 13 , 37 ) ) ;
172
+ expectSameTime ( fixture . componentInstance . input . value ( ) , createTime ( 13 , 37 ) ) ;
173
173
} ) ;
174
174
175
175
it ( 'should parse invalid time string' , ( ) => {
@@ -251,14 +251,14 @@ describe('MatTimepicker', () => {
251
251
typeInElement ( input , '2:10 PM' ) ;
252
252
fixture . detectChanges ( ) ;
253
253
expect ( input . value ) . toBe ( '2:10 PM' ) ;
254
- expect ( inputInstance . value ( ) ) . toEqual ( new Date ( ...dateParts , 14 , 10 , 0 ) ) ;
254
+ expectSameTime ( inputInstance . value ( ) , new Date ( ...dateParts , 14 , 10 , 0 ) ) ;
255
255
} ) ;
256
256
257
257
it ( 'should not accept an invalid `min` value' , ( ) => {
258
258
const fixture = TestBed . createComponent ( StandaloneTimepicker ) ;
259
259
fixture . componentInstance . min . set ( createTime ( 13 , 45 ) ) ;
260
260
fixture . detectChanges ( ) ;
261
- expect ( fixture . componentInstance . input . min ( ) ) . toEqual ( createTime ( 13 , 45 ) ) ;
261
+ expectSameTime ( fixture . componentInstance . input . min ( ) , createTime ( 13 , 45 ) ) ;
262
262
263
263
fixture . componentInstance . min . set ( adapter . invalid ( ) ) ;
264
264
fixture . detectChanges ( ) ;
@@ -269,7 +269,7 @@ describe('MatTimepicker', () => {
269
269
const fixture = TestBed . createComponent ( StandaloneTimepicker ) ;
270
270
fixture . componentInstance . max . set ( createTime ( 13 , 45 ) ) ;
271
271
fixture . detectChanges ( ) ;
272
- expect ( fixture . componentInstance . input . max ( ) ) . toEqual ( createTime ( 13 , 45 ) ) ;
272
+ expectSameTime ( fixture . componentInstance . input . max ( ) , createTime ( 13 , 45 ) ) ;
273
273
274
274
fixture . componentInstance . max . set ( adapter . invalid ( ) ) ;
275
275
fixture . detectChanges ( ) ;
@@ -280,14 +280,14 @@ describe('MatTimepicker', () => {
280
280
const fixture = TestBed . createComponent ( StandaloneTimepicker ) ;
281
281
fixture . componentInstance . min . set ( '1:45 PM' ) ;
282
282
fixture . detectChanges ( ) ;
283
- expect ( fixture . componentInstance . input . min ( ) ) . toEqual ( createTime ( 13 , 45 ) ) ;
283
+ expectSameTime ( fixture . componentInstance . input . min ( ) , createTime ( 13 , 45 ) ) ;
284
284
} ) ;
285
285
286
286
it ( 'should accept a valid time string as the `max`' , ( ) => {
287
287
const fixture = TestBed . createComponent ( StandaloneTimepicker ) ;
288
288
fixture . componentInstance . max . set ( '1:45 PM' ) ;
289
289
fixture . detectChanges ( ) ;
290
- expect ( fixture . componentInstance . input . max ( ) ) . toEqual ( createTime ( 13 , 45 ) ) ;
290
+ expectSameTime ( fixture . componentInstance . input . max ( ) , createTime ( 13 , 45 ) ) ;
291
291
} ) ;
292
292
293
293
it ( 'should throw if multiple inputs are associated with a timepicker' , ( ) => {
@@ -788,7 +788,7 @@ describe('MatTimepicker', () => {
788
788
flush ( ) ;
789
789
790
790
expect ( input . value ) . toBe ( '1:30 AM' ) ;
791
- expect ( fixture . componentInstance . input . value ( ) ) . toEqual ( createTime ( 1 , 30 ) ) ;
791
+ expectSameTime ( fixture . componentInstance . input . value ( ) , createTime ( 1 , 30 ) ) ;
792
792
expect ( getPanel ( ) ) . toBeFalsy ( ) ;
793
793
expect ( event . defaultPrevented ) . toBeTrue ( ) ;
794
794
expect ( fixture . componentInstance . selectedSpy ) . toHaveBeenCalledTimes ( 1 ) ;
@@ -868,7 +868,7 @@ describe('MatTimepicker', () => {
868
868
869
869
typeInElement ( input , '1:37 PM' ) ;
870
870
fixture . detectChanges ( ) ;
871
- expect ( control . value ) . toEqual ( createTime ( 13 , 37 ) ) ;
871
+ expectSameTime ( control . value , createTime ( 13 , 37 ) ) ;
872
872
expect ( control . dirty ) . toBe ( true ) ;
873
873
expect ( control . touched ) . toBe ( false ) ;
874
874
@@ -890,7 +890,7 @@ describe('MatTimepicker', () => {
890
890
getOptions ( ) [ 5 ] . click ( ) ;
891
891
fixture . detectChanges ( ) ;
892
892
893
- expect ( control . value ) . toEqual ( createTime ( 2 , 30 ) ) ;
893
+ expectSameTime ( control . value , createTime ( 2 , 30 ) ) ;
894
894
expect ( control . dirty ) . toBe ( true ) ;
895
895
} ) ;
896
896
@@ -930,7 +930,7 @@ describe('MatTimepicker', () => {
930
930
getOptions ( ) [ 5 ] . click ( ) ;
931
931
fixture . detectChanges ( ) ;
932
932
933
- expect ( control . value ) . toEqual ( createTime ( 2 , 30 ) ) ;
933
+ expectSameTime ( control . value , createTime ( 2 , 30 ) ) ;
934
934
expect ( control . dirty ) . toBe ( false ) ;
935
935
expect ( spy ) . not . toHaveBeenCalled ( ) ;
936
936
subscription . unsubscribe ( ) ;
@@ -946,7 +946,7 @@ describe('MatTimepicker', () => {
946
946
fixture . componentInstance . input . value . set ( createTime ( 12 , 0 ) ) ;
947
947
fixture . detectChanges ( ) ;
948
948
949
- expect ( control . value ) . toEqual ( createTime ( 13 , 37 ) ) ;
949
+ expectSameTime ( control . value , createTime ( 13 , 37 ) ) ;
950
950
expect ( control . dirty ) . toBe ( false ) ;
951
951
} ) ;
952
952
@@ -1002,7 +1002,7 @@ describe('MatTimepicker', () => {
1002
1002
typeInElement ( input , '10:10 AM' ) ;
1003
1003
fixture . detectChanges ( ) ;
1004
1004
expect ( control . errors ?. [ 'matTimepickerParse' ] ) . toBeFalsy ( ) ;
1005
- expect ( control . value ) . toEqual ( createTime ( 10 , 10 ) ) ;
1005
+ expectSameTime ( control . value , createTime ( 10 , 10 ) ) ;
1006
1006
1007
1007
clearElement ( input ) ;
1008
1008
typeInElement ( input , 'not a valid date' ) ;
@@ -1034,7 +1034,7 @@ describe('MatTimepicker', () => {
1034
1034
typeInElement ( input , '12:10 PM' ) ;
1035
1035
fixture . detectChanges ( ) ;
1036
1036
expect ( control . errors ?. [ 'matTimepickerParse' ] ) . toBeFalsy ( ) ;
1037
- expect ( control . value ) . toEqual ( createTime ( 12 , 10 ) ) ;
1037
+ expectSameTime ( control . value , createTime ( 12 , 10 ) ) ;
1038
1038
} ) ) ;
1039
1039
1040
1040
it ( 'should set an error if the user enters a time earlier than the minimum' , fakeAsync ( ( ) => {
@@ -1052,7 +1052,7 @@ describe('MatTimepicker', () => {
1052
1052
typeInElement ( input , '11:59 AM' ) ;
1053
1053
fixture . detectChanges ( ) ;
1054
1054
expect ( control . errors ?. [ 'matTimepickerMin' ] ) . toBeTruthy ( ) ;
1055
- expect ( control . value ) . toEqual ( createTime ( 11 , 59 ) ) ;
1055
+ expectSameTime ( control . value , createTime ( 11 , 59 ) ) ;
1056
1056
1057
1057
// Change the minimum so the value becomes valid.
1058
1058
fixture . componentInstance . min . set ( createTime ( 11 , 0 ) ) ;
@@ -1075,7 +1075,7 @@ describe('MatTimepicker', () => {
1075
1075
typeInElement ( input , '12:01 PM' ) ;
1076
1076
fixture . detectChanges ( ) ;
1077
1077
expect ( control . errors ?. [ 'matTimepickerMax' ] ) . toBeTruthy ( ) ;
1078
- expect ( control . value ) . toEqual ( createTime ( 12 , 1 ) ) ;
1078
+ expectSameTime ( control . value , createTime ( 12 , 1 ) ) ;
1079
1079
1080
1080
// Change the maximum so the value becomes valid.
1081
1081
fixture . componentInstance . max . set ( createTime ( 13 , 0 ) ) ;
@@ -1197,6 +1197,12 @@ describe('MatTimepicker', () => {
1197
1197
} ) ;
1198
1198
} ) ;
1199
1199
1200
+ function expectSameTime ( one : Date | null , two : Date | null ) : void {
1201
+ expect ( adapter . sameTime ( one , two ) )
1202
+ . withContext ( `Expected ${ one } to be same time as ${ two } ` )
1203
+ . toBe ( true ) ;
1204
+ }
1205
+
1200
1206
function configureTestingModule ( additionalProviders : Provider [ ] = [ ] ) : void {
1201
1207
TestBed . configureTestingModule ( {
1202
1208
imports : [ NoopAnimationsModule ] ,
0 commit comments