{"version":3,"sources":["../source/input control.test.js"],"names":["onChange","onCut","onPaste","onKeyDown","Keys","templateParser","templateFormatter","parseDigit","TEMPLATE","parse","format","describe","it","input","value","selectionStart","selectionEnd","setSelectionRange","position","on_change","_","expect","to","equal","done","setTimeout","be","undefined","event","keyCode","Delete","preventDefault","Backspace"],"mappings":"AAAA,SAECA,QAFD,EAGCC,KAHD,EAICC,OAJD,EAKCC,SALD,QAOK,iBAPL;AASA,SAASC,IAAT,QAAqB,OAArB;AAEA,OAAOC,cAAP,MAA2B,mBAA3B;AACA,OAAOC,iBAAP,MAA8B,sBAA9B;AACA,OAAOC,UAAP,MAAuB,eAAvB,C,CAEA;;AACA,IAAMC,QAAQ,GAAG,gBAAjB;AACA,IAAMC,KAAK,GAAGJ,cAAc,CAACG,QAAD,EAAWD,UAAX,CAA5B;AACA,IAAMG,MAAM,GAAGJ,iBAAiB,CAACE,QAAD,CAAhC;AAEAG,QAAQ,CAAC,eAAD,EAAkB,YAC1B;AACCC,EAAAA,EAAE,CAAC,wBAAD,EAA2B,YAC7B;AACC,QAAMC,KAAK,GACX;AACCC,MAAAA,KAAK,EAAE,UADR;AAECC,MAAAA,cAAc,EAAE,CAFjB;AAGCC,MAAAA,YAAY,EAAE,CAHf;AAICC,MAAAA,iBAJD,6BAImBC,QAJnB,EAKC;AACC,aAAKH,cAAL,GAAsBG,QAAtB;AACA;AAPF,KADA;AAWA,QAAIJ,KAAJ;;AACA,QAAMK,SAAS,GAAG,SAAZA,SAAY,CAAAC,CAAC;AAAA,aAAIN,KAAK,GAAGM,CAAZ;AAAA,KAAnB;;AAEApB,IAAAA,QAAQ,CAAC,EAAD,EAAKa,KAAL,EAAYJ,KAAZ,EAAmBC,MAAnB,EAA2BS,SAA3B,CAAR;AAEAE,IAAAA,MAAM,CAACR,KAAK,CAACC,KAAP,CAAN,CAAoBQ,EAApB,CAAuBC,KAAvB,CAA6B,aAA7B;AACAF,IAAAA,MAAM,CAACR,KAAK,CAACE,cAAP,CAAN,CAA6BO,EAA7B,CAAgCC,KAAhC,CAAsC,CAAtC;AACAF,IAAAA,MAAM,CAACP,KAAD,CAAN,CAAcQ,EAAd,CAAiBC,KAAjB,CAAuB,SAAvB;AACA,GArBC,CAAF;AAuBAX,EAAAA,EAAE,CAAC,qBAAD,EAAwB,UAASY,IAAT,EAC1B;AACC,QAAMX,KAAK,GACX;AACCC,MAAAA,KAAK,EAAE,UADR;AAECC,MAAAA,cAAc,EAAE,CAFjB;AAGCC,MAAAA,YAAY,EAAE,CAHf;AAICC,MAAAA,iBAJD,6BAImBC,QAJnB,EAKC;AACC,aAAKH,cAAL,GAAsBG,QAAtB;AACA;AAPF,KADA;AAWA,QAAIJ,KAAJ;;AACA,QAAMK,SAAS,GAAG,SAAZA,SAAY,CAAAC,CAAC;AAAA,aAAIN,KAAK,GAAGM,CAAZ;AAAA,KAAnB;;AAEAnB,IAAAA,KAAK,CAAC,EAAD,EAAKY,KAAL,EAAYJ,KAAZ,EAAmBC,MAAnB,EAA2BS,SAA3B,CAAL;AAEAM,IAAAA,UAAU,CAAC,YACX;AACCJ,MAAAA,MAAM,CAACR,KAAK,CAACC,KAAP,CAAN,CAAoBQ,EAApB,CAAuBC,KAAvB,CAA6B,aAA7B;AACAF,MAAAA,MAAM,CAACR,KAAK,CAACE,cAAP,CAAN,CAA6BO,EAA7B,CAAgCC,KAAhC,CAAsC,CAAtC;AACAF,MAAAA,MAAM,CAACP,KAAD,CAAN,CAAcQ,EAAd,CAAiBC,KAAjB,CAAuB,SAAvB;AACAC,MAAAA,IAAI;AACJ,KANS,EAOV,CAPU,CAAV;AAQA,GA1BC,CAAF;AA4BAZ,EAAAA,EAAE,CAAC,uBAAD,EAA0B,YAC5B;AACC,QAAMC,KAAK,GACX;AACCC,MAAAA,KAAK,EAAE,UADR;AAECC,MAAAA,cAAc,EAAE,CAFjB;AAGCC,MAAAA,YAAY,EAAE,CAHf;AAICC,MAAAA,iBAJD,6BAImBC,QAJnB,EAKC;AACC,aAAKH,cAAL,GAAsBG,QAAtB;AACA;AAPF,KADA;AAWA,QAAIJ,KAAJ;;AACA,QAAMK,SAAS,GAAG,SAAZA,SAAY,CAAAC,CAAC;AAAA,aAAIN,KAAK,GAAGM,CAAZ;AAAA,KAAnB;;AAEAlB,IAAAA,OAAO,CAAC,EAAD,EAAKW,KAAL,EAAYJ,KAAZ,EAAmBC,MAAnB,EAA2BS,SAA3B,CAAP;AAEAE,IAAAA,MAAM,CAACR,KAAK,CAACC,KAAP,CAAN,CAAoBQ,EAApB,CAAuBC,KAAvB,CAA6B,aAA7B;AACAF,IAAAA,MAAM,CAACR,KAAK,CAACE,cAAP,CAAN,CAA6BO,EAA7B,CAAgCC,KAAhC,CAAsC,CAAtC;AACAF,IAAAA,MAAM,CAACP,KAAD,CAAN,CAAcQ,EAAd,CAAiBC,KAAjB,CAAuB,SAAvB;AACA,GArBC,CAAF;AAuBAX,EAAAA,EAAE,CAAC,wCAAD,EAA2C,YAC7C;AACC,QAAMC,KAAK,GACX;AACCC,MAAAA,KAAK,EAAE,UADR;AAECC,MAAAA,cAAc,EAAE,CAFjB;AAGCC,MAAAA,YAAY,EAAE,CAHf;AAICC,MAAAA,iBAJD,6BAImBC,QAJnB,EAKC;AACC,aAAKH,cAAL,GAAsBG,QAAtB;AACA;AAPF,KADA;AAWA,QAAIJ,KAAJ;;AACA,QAAMK,SAAS,GAAG,SAAZA,SAAY,CAAAC,CAAC;AAAA,aAAIN,KAAK,GAAGM,CAAZ;AAAA,KAAnB;;AAEAlB,IAAAA,OAAO,CAAC,EAAD,EAAKW,KAAL,EAAYJ,KAAZ,EAAmBC,MAAnB,EAA2BS,SAA3B,CAAP;AAEAE,IAAAA,MAAM,CAACR,KAAK,CAACC,KAAP,CAAN,CAAoBQ,EAApB,CAAuBC,KAAvB,CAA6B,WAA7B;AACAF,IAAAA,MAAM,CAACR,KAAK,CAACE,cAAP,CAAN,CAA6BO,EAA7B,CAAgCC,KAAhC,CAAsC,CAAtC;AACAF,IAAAA,MAAM,CAACP,KAAD,CAAN,CAAcQ,EAAd,CAAiBC,KAAjB,CAAuB,QAAvB;AACA,GArBC,CAAF;AAuBAX,EAAAA,EAAE,CAAC,6BAAD,EAAgC,YAClC;AACC,QAAMC,KAAK,GACX;AACCC,MAAAA,KAAK,EAAE,UADR;AAECC,MAAAA,cAAc,EAAE,CAFjB;AAGCC,MAAAA,YAAY,EAAE,CAHf;AAICC,MAAAA,iBAJD,6BAImBC,QAJnB,EAKC;AACC,aAAKH,cAAL,GAAsBG,QAAtB;AACA;AAPF,KADA;AAWA,QAAIJ,KAAJ;;AACA,QAAMK,SAAS,GAAG,SAAZA,SAAY,CAAAC,CAAC;AAAA,aAAIN,KAAK,GAAGM,CAAZ;AAAA,KAAnB;;AAEAjB,IAAAA,SAAS,CAAC,EAAD,EAAKU,KAAL,EAAYJ,KAAZ,EAAmBC,MAAnB,EAA2BS,SAA3B,CAAT;AAEAE,IAAAA,MAAM,CAACR,KAAK,CAACC,KAAP,CAAN,CAAoBQ,EAApB,CAAuBC,KAAvB,CAA6B,UAA7B;AACAF,IAAAA,MAAM,CAACR,KAAK,CAACE,cAAP,CAAN,CAA6BO,EAA7B,CAAgCC,KAAhC,CAAsC,CAAtC;AACAF,IAAAA,MAAM,CAACP,KAAD,CAAN,CAAcQ,EAAd,CAAiBI,EAAjB,CAAoBC,SAApB;AACA,GArBC,CAAF;AAuBAf,EAAAA,EAAE,CAAC,kCAAD,EAAqC,YACvC;AACC,QAAMC,KAAK,GACX;AACCC,MAAAA,KAAK,EAAE,UADR;AAECC,MAAAA,cAAc,EAAE,CAFjB;AAGCC,MAAAA,YAAY,EAAE,CAHf;AAICC,MAAAA,iBAJD,6BAImBC,QAJnB,EAKC;AACC,aAAKH,cAAL,GAAsBG,QAAtB;AACA;AAPF,KADA;AAWA,QAAMU,KAAK,GACX;AACCC,MAAAA,OAAO,EAAEzB,IAAI,CAAC0B,MADf;AAECC,MAAAA,cAFD,4BAEkB,CAAE;AAFpB,KADA;AAMA,QAAIjB,KAAJ;;AACA,QAAMK,SAAS,GAAG,SAAZA,SAAY,CAAAC,CAAC;AAAA,aAAIN,KAAK,GAAGM,CAAZ;AAAA,KAAnB;;AAEAjB,IAAAA,SAAS,CAACyB,KAAD,EAAQf,KAAR,EAAeJ,KAAf,EAAsBC,MAAtB,EAA8BS,SAA9B,CAAT;AAEAE,IAAAA,MAAM,CAACR,KAAK,CAACC,KAAP,CAAN,CAAoBQ,EAApB,CAAuBC,KAAvB,CAA6B,WAA7B;AACAF,IAAAA,MAAM,CAACR,KAAK,CAACE,cAAP,CAAN,CAA6BO,EAA7B,CAAgCC,KAAhC,CAAsC,CAAtC;AACAF,IAAAA,MAAM,CAACP,KAAD,CAAN,CAAcQ,EAAd,CAAiBC,KAAjB,CAAuB,QAAvB;AACA,GA3BC,CAAF;AA6BAX,EAAAA,EAAE,CAAC,qCAAD,EAAwC,YAC1C;AACC,QAAMC,KAAK,GACX;AACCC,MAAAA,KAAK,EAAE,UADR;AAECC,MAAAA,cAAc,EAAE,CAFjB;AAGCC,MAAAA,YAAY,EAAE,CAHf;AAICC,MAAAA,iBAJD,6BAImBC,QAJnB,EAKC;AACC,aAAKH,cAAL,GAAsBG,QAAtB;AACA;AAPF,KADA;AAWA,QAAMU,KAAK,GACX;AACCC,MAAAA,OAAO,EAAEzB,IAAI,CAAC4B,SADf;AAECD,MAAAA,cAFD,4BAEkB,CAAE;AAFpB,KADA;AAMA,QAAIjB,KAAJ;;AACA,QAAMK,SAAS,GAAG,SAAZA,SAAY,CAAAC,CAAC;AAAA,aAAIN,KAAK,GAAGM,CAAZ;AAAA,KAAnB;;AAEAjB,IAAAA,SAAS,CAACyB,KAAD,EAAQf,KAAR,EAAeJ,KAAf,EAAsBC,MAAtB,EAA8BS,SAA9B,CAAT;AAEAE,IAAAA,MAAM,CAACR,KAAK,CAACC,KAAP,CAAN,CAAoBQ,EAApB,CAAuBC,KAAvB,CAA6B,WAA7B;AACAF,IAAAA,MAAM,CAACR,KAAK,CAACE,cAAP,CAAN,CAA6BO,EAA7B,CAAgCC,KAAhC,CAAsC,CAAtC;AACAF,IAAAA,MAAM,CAACP,KAAD,CAAN,CAAcQ,EAAd,CAAiBC,KAAjB,CAAuB,QAAvB;AACA,GA3BC,CAAF;AA6BAX,EAAAA,EAAE,CAAC,oDAAD,EAAuD,YACzD;AACC,QAAMC,KAAK,GACX;AACCC,MAAAA,KAAK,EAAE,UADR;AAECC,MAAAA,cAAc,EAAE,CAFjB;AAGCC,MAAAA,YAAY,EAAE,CAHf;AAICC,MAAAA,iBAJD,6BAImBC,QAJnB,EAKC;AACC,aAAKH,cAAL,GAAsBG,QAAtB;AACA;AAPF,KADA;AAWA,QAAMU,KAAK,GACX;AACCC,MAAAA,OAAO,EAAEzB,IAAI,CAAC4B,SADf;AAECD,MAAAA,cAFD,4BAEkB,CAAE;AAFpB,KADA;AAMA,QAAIjB,KAAJ;;AACA,QAAMK,SAAS,GAAG,SAAZA,SAAY,CAAAC,CAAC;AAAA,aAAIN,KAAK,GAAGM,CAAZ;AAAA,KAAnB;;AAEAjB,IAAAA,SAAS,CAACyB,KAAD,EAAQf,KAAR,EAAeJ,KAAf,EAAsBC,MAAtB,EAA8BS,SAA9B,CAAT;AAEAE,IAAAA,MAAM,CAACR,KAAK,CAACC,KAAP,CAAN,CAAoBQ,EAApB,CAAuBC,KAAvB,CAA6B,UAA7B;AACAF,IAAAA,MAAM,CAACR,KAAK,CAACE,cAAP,CAAN,CAA6BO,EAA7B,CAAgCC,KAAhC,CAAsC,CAAtC;AACAF,IAAAA,MAAM,CAACP,KAAD,CAAN,CAAcQ,EAAd,CAAiBC,KAAjB,CAAuB,OAAvB;AACA,GA3BC,CAAF;AA6BAX,EAAAA,EAAE,CAAC,iDAAD,EAAoD,YACtD;AACC,QAAMC,KAAK,GACX;AACCC,MAAAA,KAAK,EAAE,UADR;AAECC,MAAAA,cAAc,EAAE,CAFjB;AAGCC,MAAAA,YAAY,EAAE,CAHf;AAICC,MAAAA,iBAJD,6BAImBC,QAJnB,EAKC;AACC,aAAKH,cAAL,GAAsBG,QAAtB;AACA;AAPF,KADA;AAWA,QAAMU,KAAK,GACX;AACCC,MAAAA,OAAO,EAAEzB,IAAI,CAAC0B,MADf;AAECC,MAAAA,cAFD,4BAEkB,CAAE;AAFpB,KADA;AAMA,QAAIjB,KAAJ;;AACA,QAAMK,SAAS,GAAG,SAAZA,SAAY,CAAAC,CAAC;AAAA,aAAIN,KAAK,GAAGM,CAAZ;AAAA,KAAnB;;AAEAjB,IAAAA,SAAS,CAACyB,KAAD,EAAQf,KAAR,EAAeJ,KAAf,EAAsBC,MAAtB,EAA8BS,SAA9B,CAAT;AAEAE,IAAAA,MAAM,CAACR,KAAK,CAACC,KAAP,CAAN,CAAoBQ,EAApB,CAAuBC,KAAvB,CAA6B,UAA7B;AACAF,IAAAA,MAAM,CAACR,KAAK,CAACE,cAAP,CAAN,CAA6BO,EAA7B,CAAgCC,KAAhC,CAAsC,CAAtC;AACAF,IAAAA,MAAM,CAACP,KAAD,CAAN,CAAcQ,EAAd,CAAiBC,KAAjB,CAAuB,OAAvB;AACA,GA3BC,CAAF;AA4BA,CA7OO,CAAR","sourcesContent":["import\r\n{\r\n\tonChange,\r\n\tonCut,\r\n\tonPaste,\r\n\tonKeyDown\r\n}\r\nfrom './input control'\r\n\r\nimport { Keys } from './dom'\r\n\r\nimport templateParser from './template parser'\r\nimport templateFormatter from './template formatter'\r\nimport parseDigit from './parse digit'\r\n\r\n// US phone number template\r\nconst TEMPLATE = '(xxx) xxx-xxxx'\r\nconst parse = templateParser(TEMPLATE, parseDigit)\r\nconst format = templateFormatter(TEMPLATE)\r\n\r\ndescribe('input control', function()\r\n{\r\n\tit('should handle onChange', function()\r\n\t{\r\n\t\tconst input =\r\n\t\t{\r\n\t\t\tvalue: '1234567-',\r\n\t\t\tselectionStart: 5,\r\n\t\t\tselectionEnd: 6,\r\n\t\t\tsetSelectionRange(position)\r\n\t\t\t{\r\n\t\t\t\tthis.selectionStart = position\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet value\r\n\t\tconst on_change = _ => value = _\r\n\r\n\t\tonChange({}, input, parse, format, on_change)\r\n\r\n\t\texpect(input.value).to.equal('(123) 456-7')\r\n\t\texpect(input.selectionStart).to.equal(8)\r\n\t\texpect(value).to.equal('1234567')\r\n\t})\r\n\r\n\tit('should handle onCut', function(done)\r\n\t{\r\n\t\tconst input =\r\n\t\t{\r\n\t\t\tvalue: '1234567-',\r\n\t\t\tselectionStart: 5,\r\n\t\t\tselectionEnd: 6,\r\n\t\t\tsetSelectionRange(position)\r\n\t\t\t{\r\n\t\t\t\tthis.selectionStart = position\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet value\r\n\t\tconst on_change = _ => value = _\r\n\r\n\t\tonCut({}, input, parse, format, on_change)\r\n\r\n\t\tsetTimeout(() =>\r\n\t\t{\r\n\t\t\texpect(input.value).to.equal('(123) 456-7')\r\n\t\t\texpect(input.selectionStart).to.equal(8)\r\n\t\t\texpect(value).to.equal('1234567')\r\n\t\t\tdone()\r\n\t\t},\r\n\t\t0)\r\n\t})\r\n\r\n\tit('should handle onPaste', function()\r\n\t{\r\n\t\tconst input =\r\n\t\t{\r\n\t\t\tvalue: '1234567-',\r\n\t\t\tselectionStart: 5,\r\n\t\t\tselectionEnd: 5,\r\n\t\t\tsetSelectionRange(position)\r\n\t\t\t{\r\n\t\t\t\tthis.selectionStart = position\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet value\r\n\t\tconst on_change = _ => value = _\r\n\r\n\t\tonPaste({}, input, parse, format, on_change)\r\n\r\n\t\texpect(input.value).to.equal('(123) 456-7')\r\n\t\texpect(input.selectionStart).to.equal(8)\r\n\t\texpect(value).to.equal('1234567')\r\n\t})\r\n\r\n\tit('should handle onPaste (with selection)', function()\r\n\t{\r\n\t\tconst input =\r\n\t\t{\r\n\t\t\tvalue: '1234567-',\r\n\t\t\tselectionStart: 5,\r\n\t\t\tselectionEnd: 6,\r\n\t\t\tsetSelectionRange(position)\r\n\t\t\t{\r\n\t\t\t\tthis.selectionStart = position\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet value\r\n\t\tconst on_change = _ => value = _\r\n\r\n\t\tonPaste({}, input, parse, format, on_change)\r\n\r\n\t\texpect(input.value).to.equal('(123) 457')\r\n\t\texpect(input.selectionStart).to.equal(8)\r\n\t\texpect(value).to.equal('123457')\r\n\t})\r\n\r\n\tit('should not handle onKeyDown', function()\r\n\t{\r\n\t\tconst input =\r\n\t\t{\r\n\t\t\tvalue: '1234567-',\r\n\t\t\tselectionStart: 5,\r\n\t\t\tselectionEnd: 6,\r\n\t\t\tsetSelectionRange(position)\r\n\t\t\t{\r\n\t\t\t\tthis.selectionStart = position\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet value\r\n\t\tconst on_change = _ => value = _\r\n\r\n\t\tonKeyDown({}, input, parse, format, on_change)\r\n\r\n\t\texpect(input.value).to.equal('1234567-')\r\n\t\texpect(input.selectionStart).to.equal(5)\r\n\t\texpect(value).to.be.undefined\r\n\t})\r\n\r\n\tit('should handle onKeyDown (Delete)', function()\r\n\t{\r\n\t\tconst input =\r\n\t\t{\r\n\t\t\tvalue: '1234567-',\r\n\t\t\tselectionStart: 5,\r\n\t\t\tselectionEnd: 5,\r\n\t\t\tsetSelectionRange(position)\r\n\t\t\t{\r\n\t\t\t\tthis.selectionStart = position\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst event =\r\n\t\t{\r\n\t\t\tkeyCode: Keys.Delete,\r\n\t\t\tpreventDefault() {}\r\n\t\t}\r\n\r\n\t\tlet value\r\n\t\tconst on_change = _ => value = _\r\n\r\n\t\tonKeyDown(event, input, parse, format, on_change)\r\n\r\n\t\texpect(input.value).to.equal('(123) 457')\r\n\t\texpect(input.selectionStart).to.equal(8)\r\n\t\texpect(value).to.equal('123457')\r\n\t})\r\n\r\n\tit('should handle onKeyDown (Backspace)', function()\r\n\t{\r\n\t\tconst input =\r\n\t\t{\r\n\t\t\tvalue: '1234567-',\r\n\t\t\tselectionStart: 5,\r\n\t\t\tselectionEnd: 5,\r\n\t\t\tsetSelectionRange(position)\r\n\t\t\t{\r\n\t\t\t\tthis.selectionStart = position\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst event =\r\n\t\t{\r\n\t\t\tkeyCode: Keys.Backspace,\r\n\t\t\tpreventDefault() {}\r\n\t\t}\r\n\r\n\t\tlet value\r\n\t\tconst on_change = _ => value = _\r\n\r\n\t\tonKeyDown(event, input, parse, format, on_change)\r\n\r\n\t\texpect(input.value).to.equal('(123) 467')\r\n\t\texpect(input.selectionStart).to.equal(7)\r\n\t\texpect(value).to.equal('123467')\r\n\t})\r\n\r\n\tit('should handle onKeyDown (Backspace with selection)', function()\r\n\t{\r\n\t\tconst input =\r\n\t\t{\r\n\t\t\tvalue: '1234567-',\r\n\t\t\tselectionStart: 4,\r\n\t\t\tselectionEnd: 6,\r\n\t\t\tsetSelectionRange(position)\r\n\t\t\t{\r\n\t\t\t\tthis.selectionStart = position\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst event =\r\n\t\t{\r\n\t\t\tkeyCode: Keys.Backspace,\r\n\t\t\tpreventDefault() {}\r\n\t\t}\r\n\r\n\t\tlet value\r\n\t\tconst on_change = _ => value = _\r\n\r\n\t\tonKeyDown(event, input, parse, format, on_change)\r\n\r\n\t\texpect(input.value).to.equal('(123) 47')\r\n\t\texpect(input.selectionStart).to.equal(7)\r\n\t\texpect(value).to.equal('12347')\r\n\t})\r\n\r\n\tit('should handle onKeyDown (Delete with selection)', function()\r\n\t{\r\n\t\tconst input =\r\n\t\t{\r\n\t\t\tvalue: '1234567-',\r\n\t\t\tselectionStart: 4,\r\n\t\t\tselectionEnd: 6,\r\n\t\t\tsetSelectionRange(position)\r\n\t\t\t{\r\n\t\t\t\tthis.selectionStart = position\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst event =\r\n\t\t{\r\n\t\t\tkeyCode: Keys.Delete,\r\n\t\t\tpreventDefault() {}\r\n\t\t}\r\n\r\n\t\tlet value\r\n\t\tconst on_change = _ => value = _\r\n\r\n\t\tonKeyDown(event, input, parse, format, on_change)\r\n\r\n\t\texpect(input.value).to.equal('(123) 47')\r\n\t\texpect(input.selectionStart).to.equal(7)\r\n\t\texpect(value).to.equal('12347')\r\n\t})\r\n})"],"file":"input control.test.js"}