@@ -5032,5 +5032,130 @@ describe('EJ2CORE-735 - Date reset to first month after clearing the selected da
50325032 expect ( datePicker . inputElement . value === "month/day/year" ) . toBe ( true )
50335033 } ) ;
50345034} ) ;
5035-
5035+ describe ( 'EJ2CORE-779 - Month reset to first month after clearing the selected month by using backspace key' , function ( ) {
5036+ let datePicker :any ;
5037+ beforeEach ( function ( ) {
5038+ let element : HTMLElement = createElement ( 'input' , { id :'date' } ) ;
5039+ document . body . appendChild ( element ) ;
5040+ } ) ;
5041+ afterEach ( function ( ) {
5042+ if ( datePicker ) {
5043+ datePicker . destroy ( ) ;
5044+ }
5045+ document . body . innerHTML = '' ;
5046+ } ) ;
5047+ it ( 'check the input is updated correctly' , function ( ) {
5048+ datePicker = new DatePicker ( {
5049+ format : 'MM/dd/yyyy' ,
5050+ enableMask : true ,
5051+ strictMode : true ,
5052+ } ) ;
5053+ datePicker . appendTo ( '#date' ) ;
5054+ expect ( datePicker . element . value ) . toBe ( 'month/day/year' ) ;
5055+ datePicker . value = new Date ( '5/5/2020' ) ;
5056+ datePicker . dataBind ( ) ;
5057+ datePicker . element . focus ( ) ;
5058+ datePicker . element . selectionStart = 0 ;
5059+ datePicker . element . selectionEnd = 2 ;
5060+ datePicker . element . value = '/05/2020' ;
5061+ datePicker . element . selectionStart = 0 ;
5062+ datePicker . inputHandler ( ) ;
5063+ expect ( datePicker . inputElement . value === "month/05/2020" ) . toBe ( true )
5064+ datePicker . inputBlurHandler ( ) ;
5065+ expect ( datePicker . inputElement . value === "05/05/2020" ) . toBe ( true )
5066+ datePicker . element . selectionStart = 3 ;
5067+ datePicker . element . selectionEnd = 5 ;
5068+ datePicker . element . value = '05//2020' ;
5069+ datePicker . element . selectionStart = 3 ;
5070+ datePicker . inputHandler ( ) ;
5071+ expect ( datePicker . inputElement . value === "05/day/2020" ) . toBe ( true )
5072+ datePicker . inputBlurHandler ( ) ;
5073+ expect ( datePicker . inputElement . value === "05/05/2020" ) . toBe ( true )
5074+ datePicker . element . selectionStart = 6 ;
5075+ datePicker . element . selectionEnd = 10 ;
5076+ datePicker . element . value = '05/05/' ;
5077+ datePicker . inputHandler ( ) ;
5078+ datePicker . element . selectionStart = 6 ;
5079+ expect ( datePicker . inputElement . value === "05/05/year" ) . toBe ( true )
5080+ datePicker . inputBlurHandler ( ) ;
5081+ expect ( datePicker . inputElement . value === "05/05/2020" ) . toBe ( true )
5082+ datePicker . min = new Date ( '5/8/2020' ) ;
5083+ datePicker . dataBind ( ) ;
5084+ datePicker . max = new Date ( '5/20/2020' ) ;
5085+ datePicker . dataBind ( ) ;
5086+ datePicker . element . selectionStart = 0 ;
5087+ datePicker . element . selectionEnd = 2 ;
5088+ datePicker . element . value = '/08/2020' ;
5089+ datePicker . element . selectionStart = 0 ;
5090+ datePicker . inputHandler ( ) ;
5091+ datePicker . inputBlurHandler ( ) ;
5092+ expect ( datePicker . inputElement . value === "05/08/2020" ) . toBe ( true )
5093+ } ) ;
5094+ it ( 'change the format and test the input is updated correctly' , function ( ) {
5095+ datePicker = new DatePicker ( {
5096+ format : 'M/d/yyyy' ,
5097+ enableMask : true ,
5098+ strictMode : true ,
5099+ } ) ;
5100+ datePicker . appendTo ( '#date' ) ;
5101+ expect ( datePicker . element . value ) . toBe ( 'month/day/year' ) ;
5102+ datePicker . value = new Date ( '5/5/2020' ) ;
5103+ datePicker . dataBind ( ) ;
5104+ datePicker . element . focus ( ) ;
5105+ datePicker . element . selectionStart = 0 ;
5106+ datePicker . element . selectionEnd = 1 ;
5107+ datePicker . element . value = '/5/2020' ;
5108+ datePicker . element . selectionStart = 0 ;
5109+ datePicker . inputHandler ( ) ;
5110+ expect ( datePicker . inputElement . value === "month/5/2020" ) . toBe ( true )
5111+ datePicker . inputBlurHandler ( ) ;
5112+ expect ( datePicker . inputElement . value === "5/5/2020" ) . toBe ( true )
5113+ datePicker . element . selectionStart = 2 ;
5114+ datePicker . element . selectionEnd = 3 ;
5115+ datePicker . element . value = '5//2020' ;
5116+ datePicker . element . selectionStart = 2 ;
5117+ datePicker . inputHandler ( ) ;
5118+ expect ( datePicker . inputElement . value === "5/day/2020" ) . toBe ( true )
5119+ datePicker . inputBlurHandler ( ) ;
5120+ expect ( datePicker . inputElement . value === "5/5/2020" ) . toBe ( true )
5121+ datePicker . element . selectionStart = 5 ;
5122+ datePicker . element . selectionEnd = 8 ;
5123+ datePicker . element . value = '5/5/' ;
5124+ datePicker . inputHandler ( ) ;
5125+ datePicker . element . selectionStart = 5 ;
5126+ expect ( datePicker . inputElement . value === "5/5/year" ) . toBe ( true )
5127+ datePicker . inputBlurHandler ( ) ;
5128+ expect ( datePicker . inputElement . value === "5/5/2020" ) . toBe ( true )
5129+ datePicker . format = 'MMM yyyy' ;
5130+ datePicker . dataBind ( ) ;
5131+ datePicker . element . selectionStart = 0 ;
5132+ datePicker . element . selectionEnd = 3 ;
5133+ datePicker . element . value = ' 2020' ;
5134+ datePicker . element . selectionStart = 0 ;
5135+ datePicker . inputHandler ( ) ;
5136+ expect ( datePicker . inputElement . value === "month 2020" ) . toBe ( true )
5137+ datePicker . inputBlurHandler ( ) ;
5138+ expect ( datePicker . inputElement . value === "May 2020" ) . toBe ( true )
5139+ datePicker . format = 'dd.MM.yyyy' ;
5140+ datePicker . dataBind ( ) ;
5141+ datePicker . element . selectionStart = 3 ;
5142+ datePicker . element . selectionEnd = 5 ;
5143+ datePicker . element . value = '05..2020' ;
5144+ datePicker . element . selectionStart = 3 ;
5145+ datePicker . inputHandler ( ) ;
5146+ expect ( datePicker . inputElement . value === "05.month.2020" ) . toBe ( true )
5147+ datePicker . inputBlurHandler ( ) ;
5148+ expect ( datePicker . inputElement . value === "05.05.2020" ) . toBe ( true )
5149+ datePicker . format = 'dd-MM-yyyy' ;
5150+ datePicker . dataBind ( ) ;
5151+ datePicker . element . selectionStart = 3 ;
5152+ datePicker . element . selectionEnd = 5 ;
5153+ datePicker . element . value = '05--2020' ;
5154+ datePicker . element . selectionStart = 3 ;
5155+ datePicker . inputHandler ( ) ;
5156+ expect ( datePicker . inputElement . value === "05-month-2020" ) . toBe ( true )
5157+ datePicker . inputBlurHandler ( ) ;
5158+ expect ( datePicker . inputElement . value === "05-05-2020" ) . toBe ( true )
5159+ } ) ;
5160+ } ) ;
50365161} ) ;
0 commit comments