UNPKG

91.2 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../source/AsYouType.test.js"],"names":["AsYouType","country_code","metadata","AsYouType_","USE_NON_GEOGRAPHIC_COUNTRY_CODE","describe","it","input","should","equal","formatter","template","populatedNationalNumberTemplate","expect","to","be","undefined","getTemplate","type","getCountry","getCountryCallingCode","reset","getNationalNumber","asYouType","thrower","getNumber","phoneNumber","country","countryCallingCode","number","nationalNumber","not","state","nationalSignificantNumber","nationalPrefix","isPossible","isValid","complexPrefixBeforeNationalSignificantNumber","carrierCode","defaultCallingCode","defaultCountry","chosenFormat","format","formats","nationalPrefixFormattingRule","getSeparatorAfterNationalPrefix","formatter2","format2","isInternational","formatterInt","formatterIntRu","getChars","something"],"mappings":"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","sourcesContent":["import metadata from '../metadata.min.json'\r\nimport AsYouType_ from './AsYouType'\r\n\r\nclass AsYouType extends AsYouType_ {\r\n\tconstructor(country_code) {\r\n\t\tsuper(country_code, metadata)\r\n\t}\r\n}\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\ndescribe('AsYouType', () => {\r\n\tit('should use \"national_prefix_formatting_rule\"', () => {\r\n\t\t// With national prefix (full).\r\n\t\tnew AsYouType('RU').input('88005553535').should.equal('8 (800) 555-35-35')\r\n\t\t// With national prefix (partial).\r\n\t\tnew AsYouType('RU').input('880055535').should.equal('8 (800) 555-35')\r\n\t})\r\n\r\n\tit('should populate national number template (digit by digit)', () => {\r\n\t\tconst formatter = new AsYouType('US')\r\n\t\tformatter.input('1')\r\n\t\tformatter.formatter.template.should.equal('x (xxx) xxx-xxxx')\r\n\t\tformatter.formatter.populatedNationalNumberTemplate.should.equal('1 (xxx) xxx-xxxx')\r\n\t\tformatter.input('213')\r\n\t\tformatter.formatter.populatedNationalNumberTemplate.should.equal('1 (213) xxx-xxxx')\r\n\t\tformatter.input('3734253')\r\n\t\tformatter.formatter.populatedNationalNumberTemplate.should.equal('1 (213) 373-4253')\r\n\t})\r\n\r\n\tit('should populate international number template (digit by digit) (default country)', () => {\r\n\t\tconst formatter = new AsYouType('US')\r\n\t\texpect(formatter.formatter.template).to.be.undefined\r\n\t\texpect(formatter.formatter.populatedNationalNumberTemplate).to.be.undefined\r\n\t\tformatter.input('').should.equal('')\r\n\t\texpect(formatter.formatter.template).to.be.undefined\r\n\t\texpect(formatter.formatter.populatedNationalNumberTemplate).to.be.undefined\r\n\t\tformatter.input('+').should.equal('+')\r\n\t\tformatter.getTemplate().should.equal('x')\r\n\t\texpect(formatter.formatter.template).to.be.undefined\r\n\t\texpect(formatter.formatter.populatedNationalNumberTemplate).to.be.undefined\r\n\t\tformatter.input('1').should.equal('+1')\r\n\t\tformatter.getTemplate().should.equal('xx')\r\n\t\t// Hasn't started formatting the phone number using the template yet.\r\n\t\tformatter.formatter.template.should.equal('xx xxx xxx xxxx')\r\n\t\tformatter.formatter.populatedNationalNumberTemplate.should.equal('xxx xxx xxxx')\r\n\t\t// Has some national number digits, starts formatting the phone number using the template.\r\n\t\tformatter.input('213')\r\n\t\tformatter.formatter.populatedNationalNumberTemplate.should.equal('213 xxx xxxx')\r\n\t\tformatter.input('3734253')\r\n\t\tformatter.formatter.populatedNationalNumberTemplate.should.equal('213 373 4253')\r\n\t})\r\n\r\n\tit('should populate international number template (digit by digit)', () => {\r\n\t\tconst formatter = new AsYouType()\r\n\t\texpect(formatter.formatter.template).to.be.undefined\r\n\t\texpect(formatter.formatter.populatedNationalNumberTemplate).to.be.undefined\r\n\t\tformatter.input('').should.equal('')\r\n\t\texpect(formatter.formatter.template).to.be.undefined\r\n\t\texpect(formatter.formatter.populatedNationalNumberTemplate).to.be.undefined\r\n\t\tformatter.input('+').should.equal('+')\r\n\t\texpect(formatter.formatter.template).to.be.undefined\r\n\t\texpect(formatter.formatter.populatedNationalNumberTemplate).to.be.undefined\r\n\t\tformatter.input('1').should.equal('+1')\r\n\t\tformatter.formatter.template.should.equal('xx xxx xxx xxxx')\r\n\t\t// Hasn't yet started formatting the phone number using the template.\r\n\t\tformatter.formatter.populatedNationalNumberTemplate.should.equal('xxx xxx xxxx')\r\n\t\t// Has some national number digits, starts formatting the phone number using the template.\r\n\t\tformatter.input('213')\r\n\t\tformatter.formatter.populatedNationalNumberTemplate.should.equal('213 xxx xxxx')\r\n\t\tformatter.input('3734253')\r\n\t\tformatter.formatter.populatedNationalNumberTemplate.should.equal('213 373 4253')\r\n\t})\r\n\r\n\tit('should populate national number template (attempt to format complete number)', () => {\r\n\t\tconst formatter = new AsYouType('US')\r\n\t\tformatter.input('12133734253').should.equal('1 (213) 373-4253')\r\n\t\tformatter.formatter.template.should.equal('x (xxx) xxx-xxxx')\r\n\t\tformatter.formatter.populatedNationalNumberTemplate.should.equal('1 (213) 373-4253')\r\n\t})\r\n\r\n\tit('should parse and format phone numbers as you type', () => {\r\n\t\t// International number test\r\n\t\tnew AsYouType().input('+12133734').should.equal('+1 213 373 4')\r\n\t\t// Local number test\r\n\t\tnew AsYouType('US').input('2133734').should.equal('(213) 373-4')\r\n\r\n\t\t// US national number retains national prefix.\r\n\t\tnew AsYouType('US').input('12133734').should.equal('1 (213) 373-4')\r\n\r\n\t\t// US national number retains national prefix (full number).\r\n\t\tnew AsYouType('US').input('12133734253').should.equal('1 (213) 373-4253')\r\n\r\n\t\tlet formatter\r\n\r\n\t\t// // Should discard national prefix from a \"complete\" phone number.\r\n\t\t// new AsYouType('RU').input('8800555353').should.equal('880 055-53-53')\r\n\r\n\t\t// Shouldn't extract national prefix when inputting in international format.\r\n\t\tnew AsYouType('RU').input('+7800555353').should.equal('+7 800 555 35 3')\r\n\r\n\t\tnew AsYouType('CH').input('044-668-1').should.equal('044 668 1')\r\n\r\n\t\t// Test International phone number (international)\r\n\r\n\t\tformatter = new AsYouType()\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\ttype(formatter.getCountry()).should.equal('undefined')\r\n\t\ttype(formatter.getCountryCallingCode()).should.equal('undefined')\r\n\t\tformatter.getTemplate().should.equal('')\r\n\r\n\t\tformatter.input('+').should.equal('+')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\ttype(formatter.getCountry()).should.equal('undefined')\r\n\t\ttype(formatter.getCountryCallingCode()).should.equal('undefined')\r\n\t\tformatter.getTemplate().should.equal('x')\r\n\r\n\t\tformatter.input('1').should.equal('+1')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\ttype(formatter.getCountry()).should.equal('undefined')\r\n\t\tformatter.getCountryCallingCode().should.equal('1')\r\n\t\tformatter.getTemplate().should.equal('xx')\r\n\r\n\t\tformatter.input('2').should.equal('+1 2')\r\n\t\tformatter.getTemplate().should.equal('xx x')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\ttype(formatter.getCountry()).should.equal('undefined')\r\n\r\n\t\tformatter.input('1').should.equal('+1 21')\r\n\t\tformatter.input('3').should.equal('+1 213')\r\n\t\tformatter.input(' ').should.equal('+1 213')\r\n\t\tformatter.input('3').should.equal('+1 213 3')\r\n\t\tformatter.input('3').should.equal('+1 213 33')\r\n\t\tformatter.input('3').should.equal('+1 213 333')\r\n\t\tformatter.input('4').should.equal('+1 213 333 4')\r\n\t\tformatter.input('4').should.equal('+1 213 333 44')\r\n\t\tformatter.input('4').should.equal('+1 213 333 444')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\ttype(formatter.getCountry()).should.equal('undefined')\r\n\r\n\t\tformatter.input('4').should.equal('+1 213 333 4444')\r\n\r\n\t\t// formatter.valid.should.be.true\r\n\t\tformatter.getCountry().should.equal('US')\r\n\t\t// This one below contains \"punctuation spaces\"\r\n\t\t// along with the regular spaces\r\n\t\tformatter.getTemplate().should.equal('xx xxx xxx xxxx')\r\n\r\n\t\tformatter.input('5').should.equal('+1 21333344445')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\texpect(formatter.getCountry()).to.be.undefined\r\n\t\tformatter.getCountryCallingCode().should.equal('1')\r\n\t\texpect(formatter.formatter.template).to.be.undefined\r\n\r\n\t\t// Check that clearing an international formatter\r\n\t\t// also clears country metadata.\r\n\r\n\t\tformatter.reset()\r\n\r\n\t\tformatter.input('+').should.equal('+')\r\n\t\tformatter.input('7').should.equal('+7')\r\n\t\tformatter.input('9').should.equal('+7 9')\r\n\t\tformatter.input('99 111 22 33').should.equal('+7 999 111 22 33')\r\n\r\n\t\t// Test Switzerland phone numbers\r\n\r\n\t\tformatter = new AsYouType('CH')\r\n\r\n\t\tformatter.input(' ').should.equal('')\r\n\t\tformatter.input('0').should.equal('0')\r\n\t\tformatter.input('4').should.equal('04')\r\n\t\tformatter.input(' ').should.equal('04')\r\n\t\tformatter.input('-').should.equal('04')\r\n\t\tformatter.input('4').should.equal('044')\r\n\t\tformatter.input('-').should.equal('044')\r\n\t\tformatter.input('6').should.equal('044 6')\r\n\t\tformatter.input('6').should.equal('044 66')\r\n\t\tformatter.input('8').should.equal('044 668')\r\n\t\tformatter.input('-').should.equal('044 668')\r\n\t\tformatter.input('1').should.equal('044 668 1')\r\n\t\tformatter.input('8').should.equal('044 668 18')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\tformatter.getCountry().should.equal('CH')\r\n\t\tformatter.formatter.template.should.equal('xxx xxx xx xx')\r\n\t\tformatter.getTemplate().should.equal('xxx xxx xx')\r\n\r\n\t\tformatter.input(' 00').should.equal('044 668 18 00')\r\n\r\n\t\t// formatter.valid.should.be.true\r\n\t\tformatter.getCountry().should.equal('CH')\r\n\t\tformatter.getTemplate().should.equal('xxx xxx xx xx')\r\n\r\n\t\tformatter.input('9').should.equal('04466818009')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\tformatter.getCountry().should.equal('CH')\r\n\t\texpect(formatter.formatter.template).to.be.undefined\r\n\r\n\t\t// Kazakhstan (non-main country for +7 country phone code)\r\n\r\n\t\tformatter = new AsYouType()\r\n\r\n\t\tformatter.input('+77172580659')\r\n\t\tformatter.getCountry().should.equal('KZ')\r\n\r\n\t\t// Brazil\r\n\r\n\t\tformatter = new AsYouType('BR')\r\n\t\tformatter.input('11987654321').should.equal('(11) 98765-4321')\r\n\r\n\t\t// UK (Jersey) (non-main country for +44 country phone code)\r\n\r\n\t\tformatter = new AsYouType()\r\n\t\tformatter.input('+447700300000').should.equal('+44 7700 300000')\r\n\t\tformatter.getTemplate().should.equal('xxx xxxx xxxxxx')\r\n\t\tformatter.getCountry().should.equal('JE')\r\n\r\n\t\t// Braces must be part of the template.\r\n\t\tformatter = new AsYouType('RU')\r\n\t\tformatter.input('88005553535').should.equal('8 (800) 555-35-35')\r\n\t\tformatter.getTemplate().should.equal('x (xxx) xxx-xx-xx')\r\n\r\n\t\t// Test Russian phone numbers\r\n\t\t// (with optional national prefix `8`)\r\n\r\n\t\tformatter = new AsYouType('RU')\r\n\r\n\t\tformatter.input('8').should.equal('8')\r\n\t\tformatter.input('9').should.equal('8 9')\r\n\t\tformatter.input('9').should.equal('8 99')\r\n\t\tformatter.input('9').should.equal('8 (999)')\r\n\t\tformatter.input('-').should.equal('8 (999)')\r\n\t\tformatter.input('1234').should.equal('8 (999) 123-4')\r\n\t\tformatter.input('567').should.equal('8 (999) 123-45-67')\r\n\t\tformatter.input('8').should.equal('899912345678')\r\n\r\n\t\t// Shouldn't strip national prefix if it is optional\r\n\t\t// and if it's a valid phone number (international).\r\n\t\tformatter = new AsYouType('RU')\r\n\t\t// formatter.input('8005553535').should.equal('(800) 555-35-35')\r\n\t\tformatter.input('+78005553535').should.equal('+7 800 555 35 35')\r\n\t\tformatter.getNationalNumber().should.equal('8005553535')\r\n\r\n\t\t// Check that clearing an national formatter:\r\n\t\t// * doesn't clear country metadata\r\n\t\t// * clears all other things\r\n\r\n\t\tformatter.reset()\r\n\r\n\t\tformatter.input('8').should.equal('8')\r\n\t\tformatter.input('9').should.equal('8 9')\r\n\t\tformatter.input('9').should.equal('8 99')\r\n\t\tformatter.input('9').should.equal('8 (999)')\r\n\t\tformatter.input('-').should.equal('8 (999)')\r\n\t\tformatter.input('1234').should.equal('8 (999) 123-4')\r\n\t\tformatter.input('567').should.equal('8 (999) 123-45-67')\r\n\t\tformatter.input('8').should.equal('899912345678')\r\n\r\n\t\t// National prefix should not be prepended\r\n\t\t// when formatting local NANPA phone numbers.\r\n\t\tnew AsYouType('US').input('1').should.equal('1')\r\n\t\tnew AsYouType('US').input('12').should.equal('1 2')\r\n\t\tnew AsYouType('US').input('123').should.equal('1 23')\r\n\r\n\t\t// Bulgaria\r\n\t\t// (should not prepend national prefix `0`)\r\n\t\tnew AsYouType('BG').input('111 222 3').should.equal('1112223')\r\n\r\n\t\t// Deutchland\r\n\t\tnew AsYouType().input('+4915539898001').should.equal('+49 15539 898001')\r\n\r\n\t\t// KZ detection\r\n\t\tformatter = new AsYouType()\r\n\t\tformatter.input('+7 702 211 1111')\r\n\t\tformatter.getCountry().should.equal('KZ')\r\n\t\t// formatter.valid.should.equal(true)\r\n\r\n\t\t// New Zealand formatting fix (issue #89)\r\n\t\tnew AsYouType('NZ').input('0212').should.equal('021 2')\r\n\r\n\t\t// South Korea\r\n\t\tformatter = new AsYouType()\r\n\t\tformatter.input('+82111111111').should.equal('+82 11 111 1111')\r\n\t\tformatter.getTemplate().should.equal('xxx xx xxx xxxx')\r\n\t})\r\n\r\n\tit('should filter out formats that require a national prefix and no national prefix has been input', () => {\r\n\t\t// Afghanistan.\r\n\t\tconst formatter = new AsYouType('AF')\r\n\r\n\t\t// No national prefix, and national prefix is required in the format.\r\n\t\t// (not `\"national_prefix_is_optional_when_formatting\": true`)\r\n\t\tformatter.input('44444444').should.equal('44444444')\r\n\t\texpect(formatter.formatter.template).to.be.undefined\r\n\r\n\t\t// With national prefix\r\n\t\tformatter.reset().input('044444444').should.equal('044 444 444')\r\n\t\tformatter.formatter.template.should.equal('xxx xxx xxxx')\r\n\t})\r\n\r\n\tit('should work when a digit is not a national prefix but a part of a valid national number', () => {\r\n\t\t// In Russia, `8` could be both a valid national prefix\r\n\t\t// and a part of a valid national number.\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\t// The formatter could try both variants:\r\n\t\t// with extracting national prefix\r\n\t\t// and without extracting it,\r\n\t\t// and then choose whichever way has `this.matchingFormats`.\r\n\t\t// Or there could be two instances of the formatter:\r\n\t\t// one that extracts national prefix and one that doesn't,\r\n\t\t// and then the one that has `this.matchingFormats` would be\r\n\t\t// used to format the phone number.\r\n\t\t// Something like an option `extractNationalPrefix: false`\r\n\t\t// and creating `this.withNationalPrefixFormatter = new AsYouType(this.defaultCountry || this.defaultCallingCode, { metadata, extractNationalPrefix: false })`\r\n\t\t// and something like `this.withNationalPrefixFormatter.input(nextDigits)` in `input(nextDigits)`.\r\n\t\t// But, for this specific case, it's not required:\r\n\t\t// in Russia, people are used to inputting `800` numbers with national prefix `8`:\r\n\t\t// `8 800 555 35 35`.\r\n\t\t// formatter.input('8005553535').should.equal('(800) 555-35-35')\r\n\t\tformatter.input('8005553535').should.equal('8005553535')\r\n\t\tformatter.reset()\r\n\t\tformatter.input('+78005553535').should.equal('+7 800 555 35 35')\r\n\t})\r\n\r\n\tit('should match formats that require a national prefix and no national prefix has been input (national prefix is mandatory for a format)', () => {\r\n\t\tconst formatter = new AsYouType('FR')\r\n\t\tformatter.input('612345678').should.equal('612345678')\r\n\t\tformatter.reset()\r\n\t\tformatter.input('0612345678').should.equal('06 12 34 56 78')\r\n\t})\r\n\r\n\tit('should match formats that require a national prefix and no national prefix has been input (national prefix is not mandatory for a format)', () => {\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\t// Without national prefix.\r\n\t\tformatter.input('9991234567').should.equal('999 123-45-67')\r\n\t\tformatter.reset()\r\n\t\t// With national prefix.\r\n\t\tformatter.input('89991234567').should.equal('8 (999) 123-45-67')\r\n\t})\r\n\r\n\tit('should not use `national_prefix_formatting_rule` when formatting international phone numbers', () => {\r\n\t\t// Brazil.\r\n\t\t// `national_prefix_formatting_rule` is `($1)`.\r\n\t\t// Should not add braces around `12` when being input in international format.\r\n\t\tnew AsYouType().input('+55123456789').should.equal('+55 12 3456 789')\r\n\t\tnew AsYouType('BR').input('+55123456789').should.equal('+55 12 3456 789')\r\n\t\tnew AsYouType('BR').input('123456789').should.equal('(12) 3456-789')\r\n\t})\r\n\r\n\tit('should support incorrectly entered international phone numbers (with a national prefix)', () => {\r\n\t\tlet formatter\r\n\r\n\t\tformatter = new AsYouType()\r\n\t\tformatter.input('+1 1 877 215 5230').should.equal('+1 1 877 215 5230')\r\n\t\t// formatter.input('+1 1 877 215 5230').should.equal('+1 1 8772155230')\r\n\t\tformatter.getNationalNumber().should.equal('8772155230')\r\n\r\n\t\tformatter = new AsYouType()\r\n\t\tformatter.input('+78800555353').should.equal('+7 880 055 53 53')\r\n\t\tformatter.input('5').should.equal('+7 8 800 555 35 35')\r\n\t\tformatter.getNationalNumber().should.equal('8005553535')\r\n\t})\r\n\r\n\tit('should return a partial template for current value', () => {\r\n\t\tconst asYouType = new AsYouType('US')\r\n\r\n\t\tasYouType.input('').should.equal('')\r\n\t\tasYouType.getTemplate().should.equal('')\r\n\r\n\t\tasYouType.input('2').should.equal('2')\r\n\t\t// asYouType.getTemplate().should.equal('x')\r\n\t\t// Doesn't format for a single digit.\r\n\t\tasYouType.getTemplate().should.equal('x')\r\n\r\n\t\tasYouType.input('1').should.equal('21')\r\n\t\tasYouType.getTemplate().should.equal('xx')\r\n\r\n\t\tasYouType.input('3').should.equal('(213)')\r\n\t\tasYouType.getTemplate().should.equal('(xxx)')\r\n\t})\r\n\r\n\tit(`should fall back to the default country`, () => {\r\n\t\tconst formatter = new AsYouType('RU')\r\n\r\n\t\tformatter.input('8').should.equal('8')\r\n\t\tformatter.input('9').should.equal('8 9')\r\n\t\tformatter.input('9').should.equal('8 99')\r\n\t\tformatter.input('9').should.equal('8 (999)')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\tformatter.formatter.template.should.equal('x (xxx) xxx-xx-xx')\r\n\t\tformatter.getCountry().should.equal('RU')\r\n\t\t// formatter.getCountryCallingCode().should.equal('7')\r\n\r\n\t\tformatter.input('000000000000').should.equal('8999000000000000')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\texpect(formatter.formatter.template).to.be.undefined\r\n\t\tformatter.getCountry().should.equal('RU')\r\n\t\t// formatter.getCountryCallingCode().should.equal('7')\r\n\r\n\t\tformatter.reset()\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\texpect(formatter.formatter.template).to.be.undefined\r\n\t\texpect(formatter.getCountry()).to.be.undefined\r\n\t\t// formatter.getCountryCallingCode().should.equal('7')\r\n\r\n\t\tformatter.input('+1-213-373-4253').should.equal('+1 213 373 4253')\r\n\r\n\t\t// formatter.valid.should.be.true\r\n\t\tformatter.getTemplate().should.equal('xx xxx xxx xxxx')\r\n\t\tformatter.getCountry().should.equal('US')\r\n\t\tformatter.getCountryCallingCode().should.equal('1')\r\n\t})\r\n\r\n\tit('should work in edge cases', () => {\r\n\t\tlet formatter\r\n\t\tlet thrower\r\n\r\n\t\t// No metadata\r\n\t\tthrower = () => new AsYouType_('RU')\r\n\t\tthrower.should.throw('`metadata` argument not passed')\r\n\r\n\t\t// Second '+' sign\r\n\r\n\t\tformatter = new AsYouType('RU')\r\n\r\n\t\tformatter.input('+').should.equal('+')\r\n\t\tformatter.input('7').should.equal('+7')\r\n\t\tformatter.input('+').should.equal('+7')\r\n\r\n\t\t// Out-of-position '+' sign\r\n\r\n\t\tformatter = new AsYouType('RU')\r\n\r\n\t\tformatter.input('8').should.equal('8')\r\n\t\tformatter.input('+').should.equal('8')\r\n\r\n\t\t// No format matched\r\n\r\n\t\tformatter = new AsYouType('RU')\r\n\r\n\t\tformatter.input('88005553535').should.equal('8 (800) 555-35-35')\r\n\t\tformatter.input('0').should.equal('880055535350')\r\n\r\n\t\t// Invalid country phone code\r\n\r\n\t\tformatter = new AsYouType()\r\n\r\n\t\tformatter.input('+0123').should.equal('+0123')\r\n\r\n\t\t// No country specified and not an international number\r\n\r\n\t\tformatter = new AsYouType()\r\n\r\n\t\tformatter.input('88005553535').should.equal('88005553535')\r\n\r\n\t\t// Extract national prefix when no `national_prefix` is set\r\n\r\n\t\tformatter = new AsYouType('AD')\r\n\r\n\t\tformatter.input('155555').should.equal('155 555')\r\n\r\n\t\t// Typing nonsense\r\n\r\n\t\tformatter = new AsYouType('RU')\r\n\r\n\t\tformatter.input('+1abc2').should.equal('+1')\r\n\r\n\t\t// Should reset default country when explicitly\r\n\t\t// typing in an international phone number\r\n\r\n\t\tformatter = new AsYouType('RU')\r\n\r\n\t\tformatter.input('+')\r\n\t\ttype(formatter.getCountry()).should.equal('undefined')\r\n\t\ttype(formatter.getCountryCallingCode()).should.equal('undefined')\r\n\r\n\t\t// Country not inferrable from the phone number,\r\n\t\t// while the phone number itself can already be formatted \"completely\".\r\n\r\n\t\tformatter = new AsYouType()\r\n\r\n\t\tformatter.input('+12223333333')\r\n\t\ttype(formatter.getCountry()).should.equal('undefined')\r\n\t\tformatter.getCountryCallingCode().should.equal('1')\r\n\r\n\t\t// Reset a chosen format when it no longer applies given the new leading digits.\r\n\t\t// If Google changes metadata for England then this test might not cover the case.\r\n\t\tformatter = new AsYouType('GB')\r\n\t\tformatter.input('0845').should.equal('0845')\r\n\t\t// New leading digits don't match the format previously chosen.\r\n\t\t// Reset the format.\r\n\t\tformatter.input('0').should.equal('0845 0')\r\n\t})\r\n\r\n\tit('should choose between matching formats based on the absence or presence of a national prefix', () => {\r\n\t\t// The first matching format:\r\n\t\t// {\r\n\t\t// \"pattern\": \"(\\\\d{2})(\\\\d{5,6})\",\r\n\t\t// \"leading_digits_patterns\": [\r\n\t\t// \"(?:10|2[0-57-9])[19]\",\r\n\t\t// \"(?:10|2[0-57-9])(?:10|9[56])\",\r\n\t\t// \"(?:10|2[0-57-9])(?:100|9[56])\"\r\n\t\t// ],\r\n\t\t// \"national_prefix_formatting_rule\": \"0$1\",\r\n\t\t// \"format\": \"$1 $2\",\r\n\t\t// \"domestic_carrier_code_formatting_rule\": \"$CC $FG\"\r\n\t\t// }\r\n\t\t//\r\n\t\t// The second matching format:\r\n\t\t// {\r\n\t\t// \"pattern\": \"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\r\n\t\t// \"leading_digits_patterns\": [\r\n\t\t// \"10|2(?:[02-57-9]|1[1-9])\",\r\n\t\t// \"10|2(?:[02-57-9]|1[1-9])\",\r\n\t\t// \"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"\r\n\t\t// ],\r\n\t\t// \"national_prefix_formatting_rule\": \"0$1\",\r\n\t\t// \"national_prefix_is_optional_when_formatting\": true,\r\n\t\t// \"format\": \"$1 $2 $3\",\r\n\t\t// \"domestic_carrier_code_formatting_rule\": \"$CC $FG\"\r\n\t\t// }\r\n\t\t//\r\n\t\tconst formatter = new AsYouType('CN')\r\n\t\t// National prefix has been input.\r\n\t\t// Chooses the first format.\r\n\t\tformatter.input('01010000').should.equal('010 10000')\r\n\t\tformatter.reset()\r\n\t\t// No national prefix has been input,\r\n\t\t// and `national_prefix_for_parsing` not matched.\r\n\t\t// The first format won't match, because it doesn't have\r\n\t\t// `\"national_prefix_is_optional_when_formatting\": true`.\r\n\t\t// The second format will match, because it does have\r\n\t\t// `\"national_prefix_is_optional_when_formatting\": true`.\r\n\t\tformatter.input('1010000').should.equal('10 1000 0')\r\n\t})\r\n\r\n\tit('should not accept phone number extensions', () => {\r\n\t\tnew AsYouType().input('+1-213-373-4253 ext. 123').should.equal('+1 213 373 4253')\r\n\t})\r\n\r\n\tit('should parse non-European digits', () => {\r\n\t\tnew AsYouType().input('+١٢١٢٢٣٢٣٢٣٢').should.equal('+1 212 232 3232')\r\n\t})\r\n\r\n\tit('should return a PhoneNumber instance', () => {\r\n\t\tconst formatter = new AsYouType('BR')\r\n\r\n\t\t// No country calling code.\r\n\t\texpect(formatter.getNumber()).to.be.undefined\r\n\r\n\t\tformatter.input('+1')\r\n\t\t// No national number digits.\r\n\t\texpect(formatter.getNumber()).to.be.undefined\r\n\r\n\t\tformatter.input('213-373-4253')\r\n\r\n\t\tlet phoneNumber = formatter.getNumber()\r\n\t\tphoneNumber.country.should.equal('US')\r\n\t\tphoneNumber.countryCallingCode.should.equal('1')\r\n\t\tphoneNumber.number.should.equal('+12133734253')\r\n\t\tphoneNumber.nationalNumber.should.equal('2133734253')\r\n\r\n\t\tformatter.reset()\r\n\t\tformatter.input('+1-113-373-4253')\r\n\r\n\t\tphoneNumber = formatter.getNumber()\r\n\t\texpect(phoneNumber.country).to.be.undefined\r\n\t\tphoneNumber.countryCallingCode.should.equal('1')\r\n\r\n\t\t// An incorrect NANPA international phone number.\r\n\t\t// (contains national prefix in an international phone number)\r\n\r\n\t\tformatter.reset()\r\n\t\tformatter.input('+1-1')\r\n\r\n\t\tphoneNumber = formatter.getNumber()\r\n\t\texpect(phoneNumber).to.not.be.undefined\r\n\r\n\t\tformatter.input('1')\r\n\t\tphoneNumber = formatter.getNumber()\r\n\t\texpect(phoneNumber.country).to.be.undefined\r\n\t\tphoneNumber.countryCallingCode.should.equal('1')\r\n\t\tphoneNumber.number.should.equal('+111')\r\n\t})\r\n\r\n\tit('should work with countries that add digits to national (significant) number', () => {\r\n\t\t// When formatting Argentinian mobile numbers in international format,\r\n\t\t// a `9` is prepended, when compared to national format.\r\n\t\tconst asYouType = new AsYouType('AR')\r\n\t\tasYouType.input('+5493435551212').should.equal('+54 9 3435 55 1212')\r\n\t\tasYouType.reset()\r\n\t\t// Digits shouldn't be changed when formatting in national format.\r\n\t\t// (no `9` is prepended).\r\n\t\t// First parses national (significant) number by prepending `9` to it\r\n\t\t// and stripping `15` from it.\r\n\t\t// Then uses `$2 15-$3-$4` format that strips the leading `9`\r\n\t\t// and adds `15`.\r\n\t\tasYouType.input('0343515551212').should.equal('03435 15-55-1212')\r\n\t})\r\n\r\n\tit('should return non-formatted phone number when no format matches and national (significant) number has digits added', () => {\r\n\t\t// When formatting Argentinian mobile numbers in international format,\r\n\t\t// a `9` is prepended, when compared to national format.\r\n\t\tconst asYouType = new AsYouType('AR')\r\n\t\t// Digits shouldn't be changed when formatting in national format.\r\n\t\t// (no `9` is prepended).\r\n\t\t// First parses national (significant) number by prepending `9` to it\r\n\t\t// and stripping `15` from it.\r\n\t\t// Then uses `$2 15-$3-$4` format that strips the leading `9`\r\n\t\t// and adds `15`.\r\n\t\t// `this.nationalSignificantNumberMatchesInput` is `false` in this case,\r\n\t\t// so `getNonFormattedNumber()` returns `getFullNumber(getNationalDigits())`.\r\n\t\tasYouType.input('0343515551212999').should.equal('0343515551212999')\r\n\t})\r\n\r\n\tit('should format Argentina numbers (starting with 011) (digit by digit)', () => {\r\n\t\t// Inputting a number digit-by-digit and as a whole a two different cases\r\n\t\t// in case of this library compared to Google's `libphonenumber`\r\n\t\t// that always inputs a number digit-by-digit.\r\n\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/23\r\n\t\t// nextDigits 0111523456789\r\n\t\t// nationalNumber 91123456789\r\n\t\tconst formatter = new AsYouType('AR')\r\n\t\tformatter.input('0').should.equal('0')\r\n\t\tformatter.getTemplate().should.equal('x')\r\n\t\tformatter.input('1').should.equal('01')\r\n\t\tformatter.getTemplate().should.equal('xx')\r\n\t\tformatter.input('1').should.equal('011')\r\n\t\tformatter.getTemplate().should.equal('xxx')\r\n\t\tformatter.input('1').should.equal('011 1')\r\n\t\tformatter.getTemplate().should.equal('xxx x')\r\n\t\tformatter.input('5').should.equal('011 15')\r\n\t\tformatter.getTemplate().should.equal('xxx xx')\r\n\t\tformatter.input('2').should.equal('011 152')\r\n\t\tformatter.getTemplate().should.equal('xxx xxx')\r\n\t\tformatter.input('3').should.equal('011 1523')\r\n\t\tformatter.getTemplate().should.equal('xxx xxxx')\r\n\t\tformatter.input('4').should.equal('011 1523-4')\r\n\t\tformatter.getTemplate().should.equal('xxx xxxx-x')\r\n\t\tformatter.input('5').should.equal('011 1523-45')\r\n\t\tformatter.getTemplate().should.equal('xxx xxxx-xx')\r\n\t\tformatter.input('6').should.equal('011 1523-456')\r\n\t\tformatter.getTemplate().should.equal('xxx xxxx-xxx')\r\n\t\tformatter.input('7').should.equal('011 1523-4567')\r\n\t\tformatter.getTemplate().should.equal('xxx xxxx-xxxx')\r\n\t\tformatter.input('8').should.equal('011152345678')\r\n\t\tformatter.getTemplate().should.equal('xxxxxxxxxxxx')\r\n\t\tformatter.input('9').should.equal('011 15-2345-6789')\r\n\t\tformatter.getTemplate().should.equal('xxx xx-xxxx-xxxx')\r\n\t\t// Private property (not public API).\r\n\t\tformatter.state.nationalSignificantNumber.should.equal('91123456789')\r\n\t\t// Private property (not public API).\r\n\t\t// `formatter.digits` is not always `formatter.nationalPrefix`\r\n\t\t// plus `formatter.nationalNumberDigits`.\r\n\t\tformatter.state.nationalPrefix.should.equal('0')\r\n\t\tformatter.isPossible().should.equal(true)\r\n\t\tformatter.isValid().should.equal(true)\r\n\t})\r\n\r\n\tit('should format Argentina numbers (starting with 011)', () => {\r\n\t\t// Inputting a number digit-by-digit and as a whole a two different cases\r\n\t\t// in case of this library compared to Google's `libphonenumber`\r\n\t\t// that always inputs a number digit-by-digit.\r\n\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/23\r\n\t\t// nextDigits 0111523456789\r\n\t\t// nationalNumber 91123456789\r\n\t\tconst formatter = new AsYouType('AR')\r\n\t\tformatter.input('0111523456789').should.equal('011 15-2345-6789')\r\n\t\t// Private property (not public API).\r\n\t\tformatter.state.nationalSignificantNumber.should.equal('91123456789')\r\n\t\t// Private property (not public API).\r\n\t\t// `formatter.digits` is not always `formatter.nationalPrefix`\r\n\t\t// plus `formatter.nationalNumberDigits`.\r\n\t\texpect(formatter.state.nationalPrefix).to.equal('0')\r\n\t\t// expect(formatter.nationalPrefix).to.be.undefined\r\n\t\tformatter.isPossible().should.equal(true)\r\n\t\tformatter.isValid().should.equal(true)\r\n\t})\r\n\r\n\tit('should prepend `complexPrefixBeforeNationalSignificantNumber` (not a complete number)', () => {\r\n\t\t// A country having `national_prefix_for_parsing` with a \"capturing group\".\r\n\t\t// National prefix is either not used in a format or is optional.\r\n\t\t// Input phone number without a national prefix.\r\n\t\tconst formatter = new AsYouType('AU')\r\n\t\tformatter.input('1831130345678').should.equal('1831 1303 456 78')\r\n\t\t// Private property (not public API).\r\n\t\tformatter.state.nationalSignificantNumber.should.equal('130345678')\r\n\t\t// Private property (not public API).\r\n\t\t// `formatter.digits` is not always `formatter.nationalPrefix`\r\n\t\t// plus `formatter.nationalNumberDigits`.\r\n\t\texpect(formatter.state.nationalPrefix).to.be.undefined\r\n\t\tformatter.state.complexPrefixBeforeNationalSignificantNumber.should.equal('1831')\r\n\t})\r\n\r\n\tit('should prepend `complexPrefixBeforeNationalSignificantNumber` (complete number)', () => {\r\n\t\t// A country having `national_prefix_for_parsing` with a \"capturing group\".\r\n\t\t// National prefix is either not used in a format or is optional.\r\n\t\t// Input phone number without a national prefix.\r\n\t\tconst formatter = new AsYouType('AU')\r\n\t\tformatter.input('18311303456789').should.equal('1831 1303 456 789')\r\n\t\t// Private property (not public API).\r\n\t\tformatter.state.nationalSignificantNumber.should.equal('1303456789')\r\n\t\t// Private property (not public API).\r\n\t\t// `formatter.digits` is not always `formatter.nationalPrefix`\r\n\t\t// plus `formatter.nationalNumberDigits`.\r\n\t\texpect(formatter.state.nationalPrefix).to.be.undefined\r\n\t\tformatter.state.complexPrefixBeforeNationalSignificantNumber.should.equal('1831')\r\n\t})\r\n\r\n\tit('should work with Mexico numbers', () => {\r\n\t\tconst asYouType = new AsYouType('MX')\r\n\t\t// Fixed line.\r\n\t\tasYouType.input('+52(449)978-000').should.equal('+52 449 978 000')\r\n\t\tasYouType.input('1').should.equal('+52 449 978 0001')\r\n\t\tasYouType.reset()\r\n\t\tasYouType.input('01449978000').should.equal('01449 978 000')\r\n\t\tasYouType.getTemplate().should.equal('xxxxx xxx xxx')\r\n\t\tasYouType.input('1').should.equal('01449 978 0001')\r\n\t\tasYouType.getTemplate().should.equal('xxxxx xxx xxxx')\r\n\t\tasYouType.reset()\r\n\t\tasYouType.input('(449)978-000').should.equal('449 978 000')\r\n\t\tasYouType.getTemplate().should.equal('xxx xxx xxx')\r\n\t\tasYouType.input('1').should.equal('449 978 0001')\r\n\t\tasYouType.getTemplate().should.equal('xxx xxx xxxx')\r\n\t\t// Mobile.\r\n\t\t// `1` is prepended before area code to mobile numbers in international format.\r\n\t\tasYouType.reset()\r\n\t\tasYouType.input('+521331234567').should.equal('+52 13 3123 4567')\r\n\t\tasYouType.getTemplate().should.equal('xxx xx xxxx xxxx')\r\n\t\t// Google's `libphonenumber` seems to not able to format this type of number.\r\n\t\t// https://issuetracker.google.com/issues/147938979\r\n\t\tasYouType.input('8').should.equal('+52 133 1234 5678')\r\n\t\tasYouType.getTemplate().should.equal('xxx xxx xxxx xxxx')\r\n\t\tasYouType.reset()\r\n\t\tasYouType.input('+52331234567').should.equal('+52 33 1234 567')\r\n\t\tasYouType.input('8').should.equal('+52 33 1234 5678')\r\n\t\tasYouType.reset()\r\n\t\tasYouType.input('044331234567').should.equal('04433 1234 567')\r\n\t\tasYouType.input('8').should.equal('04433 1234 5678')\r\n\t\tasYouType.reset()\r\n\t\tasYouType.input('045331234567').should.equal('04533 1234 567')\r\n\t\tasYouType.input('8').should.equal('04533 1234 5678')\r\n\t})\r\n\r\n\tit('should just prepend national prefix if national_prefix_formatting_rule does not produce a suitable number', () => {\r\n\t\t// \"national_prefix\": \"8\"\r\n\t\t// \"national_prefix_for_parsing\": \"0|80?\"\r\n\t\tconst formatter = new AsYouType('BY')\r\n\t\t// \"national_prefix_formatting_rule\": \"8 $1\"\r\n\t\t// That `national_prefix_formatting_rule` isn't used\r\n\t\t// because the user didn't input national prefix `8`.\r\n\t\tformatter.input('0800123').should.equal('0 800 123')\r\n\t\tformatter.getTemplate().should.equal('x xxx xxx')\r\n\t})\r\n\r\n\tit('should not duplicate area code for certain countries', () => {\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/318\r\n\t\tconst asYouType = new AsYouType('VI')\r\n\t\t// Even though `parse(\"3406934\")` would return a\r\n\t\t// \"(340) 340-6934\" national number, still\r\n\t\t// \"As You Type\" formatter should leave it as \"(340) 6934\".\r\n\t\tasYouType.input('340693').should.equal('(340) 693')\r\n\t\tasYouType.input('4').should.equal('(340) 693-4')\r\n\t\tasYouType.input('123').should.equal('(340) 693-4123')\r\n\t})\r\n\r\n\tit('shouldn\\'t throw when passed a non-existent default country', () => {\r\n\t\tnew AsYouType('XX').input('+78005553535').should.equal('+7 800 555 35 35')\r\n\t\tnew AsYouType('XX').input('88005553535').should.equal('88005553535')\r\n\t})\r\n\r\n\tit('should parse carrier codes', () => {\r\n\t\tconst formatter = new AsYouType('BR')\r\n\r\n\t\tformatter.input('0 15 21 5555-5555')\r\n\t\tlet phoneNumber = formatter.getNumber()\r\n\t\tphoneNumber.carrierCode.should.equal('15')\r\n\r\n\t\tformatter.reset()\r\n\t\tformatter.input('+1-213-373-4253')\r\n\t\tphoneNumber = formatter.getNumber()\r\n\t\texpect(phoneNumber.carrierCode).to.be.undefined\r\n\t})\r\n\r\n\tit('should format when default country calling code is configured', () => {\r\n\t\tconst formatter = new AsYouType({ defaultCallingCode: '7' })\r\n\t\tformatter.input('88005553535').should.equal('8 (800) 555-35-35')\r\n\t\tformatter.getNumber().countryCallingCode.should.equal('7')\r\n\t\tformatter.getNumber().country.should.equal('RU')\r\n\t})\r\n\r\n\tit('shouldn\\'t return PhoneNumber if country calling code hasn\\'t been input yet', () => {\r\n\t\tconst formatter = new AsYouType()\r\n\t\tformatter.input('+80')\r\n\t\texpect(formatter.getNumber()).to.be.undefined\r\n\t})\r\n\r\n\tit('should format non-geographic numbering plan phone numbers', () => {\r\n\t\tconst formatter = new AsYouType()\r\n\t\tformatter.input('+').should.equal('+')\r\n\t\tformatter.input('8').should.equal('+8')\r\n\t\tformatter.input('7').should.equal('+87')\r\n\t\texpect(formatter.getCountry()).to.be.undefined\r\n\t\tformatter.input('0').should.equal('+870')\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\tformatter.getCountry().should.equal('001')\r\n\t\t} else {\r\n\t\t\texpect(formatter.getCountry()).to.be.undefined\r\n\t\t}\r\n\t\tformatter.input('7').should.equal('+870 7')\r\n\t\tformatter.input('7').should.equal('+870 77')\r\n\t\tformatter.input('3').should.equal('+870 773')\r\n\t\tformatter.input('1').should.equal('+870 773 1')\r\n\t\tformatter.input('1').should.equal('+870 773 11')\r\n\t\tformatter.input('1').should.equal('+870 773 111')\r\n\t\tformatter.input('6').should.equal('+870 773 111 6')\r\n\t\tformatter.input('3').should.equal('+870 773 111 63')\r\n\t\tformatter.input('2').should.equal('+870 773 111 632')\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\tformatter.getNumber().country.should.equal('001')\r\n\t\t} else {\r\n\t\t\texpect(formatter.getCountry()).to.be.undefined\r\n\t\t}\r\n\t\tformatter.getNumber().countryCallingCode.should.equal('870')\r\n\t})\r\n\r\n\tit('should format non-geographic numbering plan phone numbers (default country calling code)', () => {\r\n\t\tconst formatter = new AsYouType({ defaultCallingCode: '870' })\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\tformatter.getNumber().country.should.equal('001')\r\n\t\t} else {\r\n\t\t\texpect(formatter.getCountry()).to.be.undefined\r\n\t\t}\r\n\t\tformatter.input('7').should.equal('7')\r\n\t\tformatter.input('7').should.equal('77')\r\n\t\tformatter.input('3').should.equal('773')\r\n\t\tformatter.input('1').should.equal('773 1')\r\n\t\tformatter.input('1').should.equal('773 11')\r\n\t\tformatter.input('1').should.equal('773 111')\r\n\t\tformatter.input('6').should.equal('773 111 6')\r\n\t\tformatter.input('3').should.equal('773 111 63')\r\n\t\tformatter.input('2').should.equal('773 111 632')\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\tformatter.getNumber().country.should.equal('001')\r\n\t\t} else {\r\n\t\t\texpect(formatter.getCountry()).to.be.undefined\r\n\t\t}\r\n\t\tformatter.getNumber().countryCallingCode.should.equal('870')\r\n\t})\r\n\r\n\tit('should not format non-geographic numbering plan phone numbers (default country 001)', () => {\r\n\t\tconst formatter = new AsYouType('001')\r\n\t\texpect(formatter.defaultCountry).to.be.undefined\r\n\t\texpect(formatter.defaultCallingCode).to.be.undefined\r\n\t\tformatter.input('7').should.equal('7')\r\n\t\tformatter.input('7').should.equal('77')\r\n\t\tformatter.input('3').should.equal('773')\r\n\t\tformatter.input('1').should.equal('7731')\r\n\t\tformatter.input('1').should.equal('77311')\r\n\t\tformatter.input('1').should.equal('773111')\r\n\t\tformatter.input('6').should.equal('7731116')\r\n\t\tformatter.input('3').should.equal('77311163')\r\n\t\tformatter.input('2').should.equal('773111632')\r\n\t\texpect(formatter.getCountry()).to.be.undefined\r\n\t\texpect(formatter.getNumber()).to.be.undefined\r\n\t})\r\n\r\n\tit('should return PhoneNumber (should strip national prefix `1` in E.164 value)', () => {\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\tformatter.input('+1111')\r\n\t\tformatter.getNumber().number.should.equal('+111')\r\n\t})\r\n\r\n\tit('should return PhoneNumber with autocorrected international numbers without leading +', () => {\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/316\r\n\t\tconst formatter = new AsYouType('FR')\r\n\t\tformatter.input('33612902554').should.equal('33 6 12 90 25 54')\r\n\t\tformatter.getNumber().country.should.equal('FR')\r\n\t\tformatter.getNumber().nationalNumber.should.equal('612902554')\r\n\t\tformatter.getNumber().number.should.equal('+33612902554')\r\n\t\t// Should also strip national prefix.\r\n\t\tformatter.reset()\r\n\t\tformatter.input('330612902554').should.equal('33 06 12 90 25 54')\r\n\t\tformatter.getNumber().country.should.equal('FR')\r\n\t\tformatter.getNumber().nationalNumber.should.equal('612902554')\r\n\t\tformatter.getNumber().number.should.equal('+33612902554')\r\n\t\t// On second thought, this \"prepend default area code\" feature won't be added,\r\n\t\t// because when a user selects \"British Virgin Islands\" and inputs\r\n\t\t// \"2291234\", then they see \"(229) 123-4\" which clearly indicates that\r\n\t\t// they should input the complete phone number (with area code).\r\n\t\t// So, unless a user completely doesn't understand what they're doing,\r\n\t\t// they'd input the complete phone number (with area code).\r\n\t\t// // Should prepend the default area code in British Virgin Islands.\r\n\t\t// // https://github.com/catamphetamine/react-phone-number-input/issues/335\r\n\t\t// const formatter2 = new AsYouType('VG')\r\n\t\t// formatter2.input('2291234').should.equal('(229) 123-4')\r\n\t\t// formatter2.getNumber().country.should.equal('VG')\r\n\t\t// formatter2.getNumber().nationalNumber.should.equal('2842291234')\r\n\t\t// formatter2.getNumber().number.should.equal('+12842291234')\r\n\t})\r\n\r\n\tit('should work with out-of-country dialing prefix (like 00)', () => {\r\n\t\tconst formatter = new AsYouType('DE')\r\n\t\tformatter.input('00498911196611').should.equal('00 49 89 11196611')\r\n\t\tformatter.getCountry().should.equal('DE')\r\n\t\tformatter.formatter.template.should.equal('xx xx xx xxxxxxxx')\r\n\t\tformatter.formatter.populatedNationalNumberTemplate.should.equal('89 11196611')\r\n\t\tformatter.getTemplate().should.equal('xx xx xx xxxxxxxx')\r\n\t\tformatter.getNumber().country.should.equal('DE')\r\n\t\tformatter.getNumber().nationalNumber.should.equal('8911196611')\r\n\t\tformatter.getNumber().number.should.equal('+498911196611')\r\n\t})\r\n\r\n\tit('shouldn\\'t choose a format when there\\'re too many digits for any of them', () => {\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\tformatter.input('88005553535')\r\n\t\tformatter.formatter.chosenFormat.format().should.equal('$1 $2-$3-$4')\r\n\t\tformatter.reset()\r\n\t\tformatter.input('880055535355')\r\n\t\texpect(formatter.formatter.chosenFormat).to.be.undefined\r\n\t})\r\n\r\n\tit('should get separator after national prefix', () => {\r\n\t\t// Russia.\r\n\t\t// Has separator after national prefix.\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\tconst format = formatter.metadata.formats()[0]\r\n\t\tformat.nationalPrefixFormattingRule().should.equal('8 ($1)')\r\n\t\tformatter.formatter.getSeparatorAfterNationalPrefix(format).should.equal(' ')\r\n\t\t// Britain.\r\n\t\t// Has no separator after national prefix.\r\n\t\tconst formatter2 = new AsYouType('GB')\r\n\t\tconst format2 = formatter2.metadata.formats()[0]\r\n\t\tformat2.nationalPrefixFormattingRule().should.equal('0$1')\r\n\t\tformatter2.formatter.getSeparatorAfterNationalPrefix(format2).should.equal('')\r\n\t})\r\n\r\n\tit('should return if the number is possible', () => {\r\n\t\t// National. Russia.\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\tformatter.isPossible().should.equal(false)\r\n\t\tformatter.input('8')\r\n\t\tformatter.isPossible().should.equal(false)\r\n\t\tformatter.input('8005553535')\r\n\t\tformatter.isPossible().should.equal(true)\r\n\t\tformatter.input('5')\r\n\t\tformatter.isPossible().should.equal(false)\r\n\t})\r\n\r\n\tit('should return if the number is valid', () => {\r\n\t\t// National. Russia.\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\tformatter.isValid().should.equal(false)\r\n\t\tformatter.input('88005553535')\r\n\t\tformatter.isValid().should.equal(true)\r\n\t\tformatter.input('5')\r\n\t\tformatter.isValid().should.equal(false)\r\n\t})\r\n\r\n\tit('should return if the number is international', () => {\r\n\t\t// National. Russia.\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\tformatter.isInternational().should.equal(false)\r\n\t\tformatter.input('88005553535')\r\n\t\tformatter.isInternational().should.equal(false)\r\n\t\t// International. Russia.\r\n\t\tconst formatterInt = new AsYouType()\r\n\t\tformatterInt.isInternational().should.equal(false)\r\n\t\tformatterInt.input('+')\r\n\t\tformatterInt.isInternational().should.equal(true)\r\n\t\tformatterInt.input('78005553535')\r\n\t\tformatterInt.isInternational().should.equal(true)\r\n\t})\r\n\r\n\tit('should return country calling code part of the number', () => {\r\n\t\t// National. Russia.\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\texpect(formatter.getCountryCallingCode()).to.be.undefined\r\n\t\tformatter.input('88005553535')\r\n\t\texpect(formatter.getCountryCallingCode()).to.be.undefined\r\n\t\t// International. Russia.\r\n\t\tconst formatterInt = new AsYouType()\r\n\t\texpect(formatterInt.getCountryCallingCode()).to.be.undefined\r\n\t\tformatterInt.input('+')\r\n\t\texpect(formatterInt.getCountryCallingCode()).to.be.undefined\r\n\t\tformatterInt.input('7')\r\n\t\texpect(formatterInt.getCountryCallingCode()).to.equal('7')\r\n\t\tformatterInt.input('8005553535')\r\n\t\texpect(formatterInt.getCountryCallingCode()).to.equal('7')\r\n\t})\r\n\r\n\tit('should return the country of the number', () => {\r\n\t\t// National. Russia.\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\texpect(formatter.getCountry()).to.be.undefined\r\n\t\tformatter.input('8')\r\n\t\texpect(formatter.getCountry()).to.equal('RU')\r\n\t\tformatter.input('8005553535')\r\n\t\texpect(formatter.getCountry()).to.equal('RU')\r\n\t\t// International. Austria.\r\n\t\tconst formatterInt = new AsYouType()\r\n\t\texpect(formatterInt.getCountry()).to.be.undefined\r\n\t\tformatterInt.input('+')\r\n\t\texpect(formatterInt.getCountry()).to.be.undefined\r\n\t\tformatterInt.input('43')\r\n\t\texpect(formatterInt.getCountry()).to.equal('AT')\r\n\t\t// International. USA.\r\n\t\tconst formatterIntRu = new AsYouType()\r\n\t\texpect(formatterIntRu.getCountry()).to.be.undefined\r\n\t\tformatterIntRu.input('+')\r\n\t\texpect(formatterIntRu.getCountry()).to.be.undefined\r\n\t\tformatterIntRu.input('1')\r\n\t\texpect(formatterIntRu.getCountry()).to.be.undefined\r\n\t\tformatterIntRu.input('2133734253')\r\n\t\texpect(formatterIntRu.getCountry()).to.equal('US')\r\n\t\tformatterIntRu.input('1')\r\n\t\texpect(formatterIntRu.getCountry()).to.be.undefined\r\n\t})\r\n\r\n\tit('should parse a long IDD prefix', () => {\r\n\t\tconst formatter = new AsYouType('AU')\r\n\t\t// `14880011` is a long IDD prefix in Australia.\r\n\t\tformatter.input('1').should.equal('1')\r\n\t\tformatter.input('4').should.equal('14')\r\n\t\tformatter.input('8').should.equal('148')\r\n\t\tformatter.input('8').should.equal('1488')\r\n\t\tformatter.input('0').should.equal('14880')\r\n\t\tformatter.input('0').should.equal('148800')\r\n\t\tformatter.input('1').should.equal('1488001')\r\n\t\tformatter.input('1').should.equal('14880011')\r\n\t\t// As if were calling US using `14880011` IDD prefix,\r\n\t\t// though that prefix could mean something else.\r\n\t\tformatter.input('1').should.equal('14880011 1')\r\n\t\tformatter.input('2').should.equal('14880011 1 2')\r\n\t\tformatter.input('1').should.equal('14880011 1 21')\r\n\t\tformatter.input('3').should.equal('14880011 1 213')\r\n\t})\r\n\r\n\tit('should return the phone number characters entered by the user', () => {\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\tformatter.getChars().should.equal('')\r\n\t\tformatter.input('+123')\r\n\t\tformatter.getChars().should.equal('+123')\r\n\t\tformatter.reset()\r\n\t\tformatter.input('123')\r\n\t\tformatter.getChars().should.equal('123')\r\n\t})\r\n})\r\n\r\nfunction type(something) {\r\n\treturn typeof something\r\n}"],"file":"AsYouType.test.js"}
\No newline at end of file