@@ -198,6 +198,28 @@ describe('IgxTimePicker', () => {
198198 expect ( timePicker . onValidationFailed . emit ) . toHaveBeenCalled ( ) ;
199199 } ) ) ;
200200
201+ it ( 'Should not throw Validation Failed event with null value passed in' , fakeAsync ( ( ) => {
202+ const fixture = TestBed . createComponent ( IgxTimePickerWithPmTimeComponent ) ;
203+ fixture . componentInstance . dateValue = null ;
204+ fixture . detectChanges ( ) ;
205+
206+ const timePicker = fixture . componentInstance . timePicker ;
207+ const dom = fixture . debugElement ;
208+ const timePickerTarget = dom . query ( By . directive ( IgxInputDirective ) ) ;
209+ spyOn ( timePicker . onValidationFailed , 'emit' ) ;
210+
211+ UIInteractions . clickElement ( timePickerTarget ) ;
212+ tick ( ) ;
213+ fixture . detectChanges ( ) ;
214+
215+ const cancelButton = dom . query ( By . css ( '.igx-button--flat' ) ) ;
216+ UIInteractions . clickElement ( cancelButton ) ;
217+ tick ( ) ;
218+ fixture . detectChanges ( ) ;
219+
220+ expect ( timePicker . onValidationFailed . emit ) . not . toHaveBeenCalled ( ) ;
221+ } ) ) ;
222+
201223 it ( 'TimePicker cancel button' , fakeAsync ( ( ) => {
202224 const fixture = TestBed . createComponent ( IgxTimePickerWithPmTimeComponent ) ;
203225 fixture . detectChanges ( ) ;
@@ -1542,34 +1564,34 @@ describe('IgxTimePicker', () => {
15421564 } ) ) ;
15431565
15441566 it ( 'When timepicker is closed via outside click, the focus should NOT remain on the input' ,
1545- fakeAsync ( ( ) => {
1546- fixture . detectChanges ( ) ;
1547- input = fixture . debugElement . query ( By . directive ( IgxInputDirective ) ) . nativeElement ;
1548- let overlayToggle = document . getElementsByClassName ( 'igx-overlay__wrapper' ) ;
1567+ fakeAsync ( ( ) => {
1568+ fixture . detectChanges ( ) ;
1569+ input = fixture . debugElement . query ( By . directive ( IgxInputDirective ) ) . nativeElement ;
1570+ let overlayToggle = document . getElementsByClassName ( 'igx-overlay__wrapper' ) ;
15491571
1550- expect ( overlayToggle . length ) . toEqual ( 0 ) ;
1572+ expect ( overlayToggle . length ) . toEqual ( 0 ) ;
15511573
1552- const iconTime = dom . queryAll ( By . css ( '.igx-icon' ) ) [ 0 ] ;
1553- UIInteractions . clickElement ( iconTime ) ;
1554- tick ( ) ;
1555- fixture . detectChanges ( ) ;
1574+ const iconTime = dom . queryAll ( By . css ( '.igx-icon' ) ) [ 0 ] ;
1575+ UIInteractions . clickElement ( iconTime ) ;
1576+ tick ( ) ;
1577+ fixture . detectChanges ( ) ;
15561578
1557- overlayToggle = document . getElementsByClassName ( 'igx-overlay__wrapper' ) ;
1558- expect ( overlayToggle [ 0 ] ) . not . toBeNull ( ) ;
1559- expect ( overlayToggle [ 0 ] ) . not . toBeUndefined ( ) ;
1579+ overlayToggle = document . getElementsByClassName ( 'igx-overlay__wrapper' ) ;
1580+ expect ( overlayToggle [ 0 ] ) . not . toBeNull ( ) ;
1581+ expect ( overlayToggle [ 0 ] ) . not . toBeUndefined ( ) ;
15601582
1561- const dummyInput = fixture . componentInstance . dummyInput . nativeElement ;
1562- dummyInput . focus ( ) ;
1563- dummyInput . click ( ) ;
1564- tick ( ) ;
1565- fixture . detectChanges ( ) ;
1583+ const dummyInput = fixture . componentInstance . dummyInput . nativeElement ;
1584+ dummyInput . focus ( ) ;
1585+ dummyInput . click ( ) ;
1586+ tick ( ) ;
1587+ fixture . detectChanges ( ) ;
15661588
1567- overlayToggle = document . getElementsByClassName ( 'igx-overlay__wrapper' ) ;
1568- input = fixture . debugElement . query ( By . directive ( IgxInputDirective ) ) . nativeElement ;
1569- expect ( overlayToggle [ 0 ] ) . toEqual ( undefined ) ;
1570- expect ( input ) . not . toEqual ( document . activeElement ) ;
1571- expect ( dummyInput ) . toEqual ( document . activeElement ) ;
1572- } ) ) ;
1589+ overlayToggle = document . getElementsByClassName ( 'igx-overlay__wrapper' ) ;
1590+ input = fixture . debugElement . query ( By . directive ( IgxInputDirective ) ) . nativeElement ;
1591+ expect ( overlayToggle [ 0 ] ) . toEqual ( undefined ) ;
1592+ expect ( input ) . not . toEqual ( document . activeElement ) ;
1593+ expect ( dummyInput ) . toEqual ( document . activeElement ) ;
1594+ } ) ) ;
15731595 } ) ;
15741596
15751597 describe ( 'Timepicker with outlet' , ( ) => {
0 commit comments