@@ -4413,6 +4413,207 @@ describe('Masked date time code coverage improvements ', () => {
4413
4413
datetimepicker . destroy ( ) ;
4414
4414
} ) ;
4415
4415
} ) ;
4416
+ describe ( 'Masked date time backspace with day ' , ( ) => {
4417
+ let mouseEventArgs : any = {
4418
+ preventDefault : function ( ) { } ,
4419
+ stopPropagation : ( ) : void => { /** NO Code */ } ,
4420
+ target : null ,
4421
+ e : {
4422
+ key : "ARROWLEFT"
4423
+ } ,
4424
+ } ;
4425
+ let date : DateTimePicker ;
4426
+ let datetimepicker : any ;
4427
+ beforeEach ( ( ) => {
4428
+ let ele : HTMLElement = createElement ( 'input' , { id : 'date' } ) ;
4429
+ document . body . appendChild ( ele ) ;
4430
+
4431
+ } ) ;
4432
+ afterEach ( ( ) => {
4433
+ if ( date ) {
4434
+ date . destroy ( ) ;
4435
+ }
4436
+ document . body . innerHTML = '' ;
4437
+ } ) ;
4438
+ it ( 'backspace action for day' , ( ) => {
4439
+ datetimepicker = new DateTimePicker ( {
4440
+ format : 'dd/MM/yyyy hh:mm a' ,
4441
+ enableMask : true ,
4442
+ } ) ;
4443
+ let mask : MaskedDateTime = new MaskedDateTime ( datetimepicker ) ;
4444
+ ( < any > mask ) . parent = datetimepicker ;
4445
+ datetimepicker . appendTo ( '#date' ) ;
4446
+ ( < any > mask ) . createMask ( ) ;
4447
+ ( < any > mask ) . maskKeydownHandler ( mouseEventArgs ) ;
4448
+ datetimepicker . inputHandler ( ) ;
4449
+ datetimepicker . element . value = '01/month/year hour:minute AM' ;
4450
+ datetimepicker . element . selectionStart = 0 ;
4451
+ mouseEventArgs . e . key = 'Backspace' ;
4452
+ ( < any > mask ) . maskKeydownHandler ( mouseEventArgs ) ;
4453
+ datetimepicker . destroy ( ) ;
4454
+ } ) ;
4455
+ } ) ;
4456
+ describe ( 'Masked date time backspace with month ' , ( ) => {
4457
+ let mouseEventArgs : any = {
4458
+ preventDefault : function ( ) { } ,
4459
+ stopPropagation : ( ) : void => { /** NO Code */ } ,
4460
+ target : null ,
4461
+ e : {
4462
+ key : "ARROWLEFT"
4463
+ } ,
4464
+ } ;
4465
+ let date : DateTimePicker ;
4466
+ let datetimepicker : any ;
4467
+ beforeEach ( ( ) => {
4468
+ let ele : HTMLElement = createElement ( 'input' , { id : 'date' } ) ;
4469
+ document . body . appendChild ( ele ) ;
4470
+
4471
+ } ) ;
4472
+ afterEach ( ( ) => {
4473
+ if ( date ) {
4474
+ date . destroy ( ) ;
4475
+ }
4476
+ document . body . innerHTML = '' ;
4477
+ } ) ;
4478
+ it ( 'backspace action for month' , ( ) => {
4479
+ datetimepicker = new DateTimePicker ( {
4480
+ format : 'MM/dd/yyyy hh:mm a' ,
4481
+ enableMask : true ,
4482
+ } ) ;
4483
+ let mask : MaskedDateTime = new MaskedDateTime ( datetimepicker ) ;
4484
+ ( < any > mask ) . parent = datetimepicker ;
4485
+ datetimepicker . appendTo ( '#date' ) ;
4486
+ ( < any > mask ) . createMask ( ) ;
4487
+ ( < any > mask ) . maskKeydownHandler ( mouseEventArgs ) ;
4488
+ datetimepicker . inputHandler ( ) ;
4489
+ datetimepicker . element . value = '01/day/year hour:minute AM' ;
4490
+ datetimepicker . element . selectionStart = 0 ;
4491
+ mouseEventArgs . e . key = 'Backspace' ;
4492
+ ( < any > mask ) . maskKeydownHandler ( mouseEventArgs ) ;
4493
+ datetimepicker . destroy ( ) ;
4494
+ } ) ;
4495
+ } ) ;
4496
+ describe ( 'Masked date time backspace with minute ' , ( ) => {
4497
+ let mouseEventArgs : any = {
4498
+ preventDefault : function ( ) { } ,
4499
+ stopPropagation : ( ) : void => { /** NO Code */ } ,
4500
+ target : null ,
4501
+ e : {
4502
+ key : "ARROWLEFT"
4503
+ } ,
4504
+ } ;
4505
+ let date : DateTimePicker ;
4506
+ let datetimepicker : any ;
4507
+ beforeEach ( ( ) => {
4508
+ let ele : HTMLElement = createElement ( 'input' , { id : 'date' } ) ;
4509
+ document . body . appendChild ( ele ) ;
4510
+
4511
+ } ) ;
4512
+ afterEach ( ( ) => {
4513
+ if ( date ) {
4514
+ date . destroy ( ) ;
4515
+ }
4516
+ document . body . innerHTML = '' ;
4517
+ } ) ;
4518
+ it ( 'backspace action for minute' , ( ) => {
4519
+ datetimepicker = new DateTimePicker ( {
4520
+ format : 'mm:hh a MM/dd/yyyy' ,
4521
+ enableMask : true ,
4522
+ } ) ;
4523
+ let mask : MaskedDateTime = new MaskedDateTime ( datetimepicker ) ;
4524
+ ( < any > mask ) . parent = datetimepicker ;
4525
+ datetimepicker . appendTo ( '#date' ) ;
4526
+ ( < any > mask ) . createMask ( ) ;
4527
+ ( < any > mask ) . maskKeydownHandler ( mouseEventArgs ) ;
4528
+ datetimepicker . inputHandler ( ) ;
4529
+ datetimepicker . element . value = '01:hour AM 01/month/year' ;
4530
+ datetimepicker . element . selectionStart = 0 ;
4531
+ mouseEventArgs . e . key = 'Backspace' ;
4532
+ ( < any > mask ) . maskKeydownHandler ( mouseEventArgs ) ;
4533
+ datetimepicker . destroy ( ) ;
4534
+ } ) ;
4535
+
4536
+ } ) ;
4537
+ describe ( 'Masked date time backspace with second ' , ( ) => {
4538
+ let mouseEventArgs : any = {
4539
+ preventDefault : function ( ) { } ,
4540
+ stopPropagation : ( ) : void => { /** NO Code */ } ,
4541
+ target : null ,
4542
+ e : {
4543
+ key : "ARROWLEFT"
4544
+ } ,
4545
+ } ;
4546
+ let date : DateTimePicker ;
4547
+ let datetimepicker : any ;
4548
+ beforeEach ( ( ) => {
4549
+ let ele : HTMLElement = createElement ( 'input' , { id : 'date' } ) ;
4550
+ document . body . appendChild ( ele ) ;
4551
+
4552
+ } ) ;
4553
+ afterEach ( ( ) => {
4554
+ if ( date ) {
4555
+ date . destroy ( ) ;
4556
+ }
4557
+ document . body . innerHTML = '' ;
4558
+ } ) ;
4559
+ it ( 'backspace action for second' , ( ) => {
4560
+ datetimepicker = new DateTimePicker ( {
4561
+ format : 'ss:mm:hh a MM/dd/yyyy' ,
4562
+ enableMask : true ,
4563
+ } ) ;
4564
+ let mask : MaskedDateTime = new MaskedDateTime ( datetimepicker ) ;
4565
+ ( < any > mask ) . parent = datetimepicker ;
4566
+ datetimepicker . appendTo ( '#date' ) ;
4567
+ ( < any > mask ) . createMask ( ) ;
4568
+ ( < any > mask ) . maskKeydownHandler ( mouseEventArgs ) ;
4569
+ datetimepicker . inputHandler ( ) ;
4570
+ datetimepicker . element . value = '01:minute:hour AM 01/month/year' ;
4571
+ datetimepicker . element . selectionStart = 0 ;
4572
+ mouseEventArgs . e . key = 'Backspace' ;
4573
+ ( < any > mask ) . maskKeydownHandler ( mouseEventArgs ) ;
4574
+ datetimepicker . destroy ( ) ;
4575
+ } ) ;
4576
+ } ) ;
4577
+ describe ( 'Masked date time backspace with hour ' , ( ) => {
4578
+ let mouseEventArgs : any = {
4579
+ preventDefault : function ( ) { } ,
4580
+ stopPropagation : ( ) : void => { /** NO Code */ } ,
4581
+ target : null ,
4582
+ e : {
4583
+ key : "ARROWLEFT"
4584
+ } ,
4585
+ } ;
4586
+ let date : DateTimePicker ;
4587
+ let datetimepicker : any ;
4588
+ beforeEach ( ( ) => {
4589
+ let ele : HTMLElement = createElement ( 'input' , { id : 'date' } ) ;
4590
+ document . body . appendChild ( ele ) ;
4591
+
4592
+ } ) ;
4593
+ afterEach ( ( ) => {
4594
+ if ( date ) {
4595
+ date . destroy ( ) ;
4596
+ }
4597
+ document . body . innerHTML = '' ;
4598
+ } ) ;
4599
+ it ( 'backspace action for hour' , ( ) => {
4600
+ datetimepicker = new DateTimePicker ( {
4601
+ format : 'hh:mm a MM/dd/yyyy' ,
4602
+ enableMask : true ,
4603
+ } ) ;
4604
+ let mask : MaskedDateTime = new MaskedDateTime ( datetimepicker ) ;
4605
+ ( < any > mask ) . parent = datetimepicker ;
4606
+ datetimepicker . appendTo ( '#date' ) ;
4607
+ ( < any > mask ) . createMask ( ) ;
4608
+ ( < any > mask ) . maskKeydownHandler ( mouseEventArgs ) ;
4609
+ datetimepicker . inputHandler ( ) ;
4610
+ datetimepicker . element . value = '01:minute AM 01/month/year' ;
4611
+ datetimepicker . element . selectionStart = 0 ;
4612
+ mouseEventArgs . e . key = 'Backspace' ;
4613
+ ( < any > mask ) . maskKeydownHandler ( mouseEventArgs ) ;
4614
+ datetimepicker . destroy ( ) ;
4615
+ } ) ;
4616
+ } ) ;
4416
4617
describe ( 'Time Restriction ' , ( ) => {
4417
4618
let mouseEventArgs : any = {
4418
4619
preventDefault : function ( ) { } ,
0 commit comments