parse.test.js.map 38 KB

1
  1. {"version":3,"file":"parse.test.js","names":["metadata","type","_parseNumber","Metadata","parseNumber","parameters","length","push","undefined","defaultCountry","apply","USE_NON_GEOGRAPHIC_COUNTRY_CODE","describe","it","should","deep","equal","country","phone","extended","countryCallingCode","carrierCode","ext","valid","possible","thrower","defaultCallingCode","expect","to","be","v2","phoneNumber","phoneNumber2"],"sources":["../source/parse.test.js"],"sourcesContent":["import metadata from '../metadata.min.json' assert { type: 'json' }\r\nimport _parseNumber from './parse.js'\r\nimport Metadata from './metadata.js'\r\n\r\nfunction parseNumber(...parameters) {\r\n\tif (parameters.length < 2) {\r\n\t\t// `options` parameter.\r\n\t\tparameters.push(undefined)\r\n\t}\r\n\t// Convert default country argument to an `options` object.\r\n\tif (typeof parameters[1] === 'string') {\r\n\t\tparameters[1] = {\r\n\t\t\t...parameters[2],\r\n\t\t\tdefaultCountry: parameters[1]\r\n\t\t}\r\n\t}\r\n\tif (parameters[2]) {\r\n\t\tparameters[2] = metadata\r\n\t} else {\r\n\t\tparameters.push(metadata)\r\n\t}\r\n\treturn _parseNumber.apply(this, parameters)\r\n}\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\ndescribe('parse', () => {\r\n\tit('should not parse invalid phone numbers', () => {\r\n\t\t// Too short.\r\n\t\tparseNumber('+7 (800) 55-35-35').should.deep.equal({})\r\n\t\t// Too long.\r\n\t\tparseNumber('+7 (800) 55-35-35-55').should.deep.equal({})\r\n\r\n\t\tparseNumber('+7 (800) 55-35-35', 'US').should.deep.equal({})\r\n\t\tparseNumber('(800) 55 35 35', { defaultCountry: 'RU' }).should.deep.equal({})\r\n\t\tparseNumber('+1 187 215 5230', 'US').should.deep.equal({})\r\n\r\n\t\tparseNumber('911231231', 'BE').should.deep.equal({})\r\n\t})\r\n\r\n\tit('should parse valid phone numbers', () => {\r\n\t\t// Instant loans\r\n\t\t// https://www.youtube.com/watch?v=6e1pMrYH5jI\r\n\t\t//\r\n\t\t// Restrict to RU\r\n\t\tparseNumber('Phone: 8 (800) 555 35 35.', 'RU').should.deep.equal({ country: 'RU', phone: '8005553535' })\r\n\t\t// International format\r\n\t\tparseNumber('Phone: +7 (800) 555-35-35.').should.deep.equal({ country: 'RU', phone: '8005553535' })\r\n\t\t// // Restrict to US, but not a US country phone code supplied\r\n\t\t// parseNumber('+7 (800) 555-35-35', 'US').should.deep.equal({})\r\n\t\t// Restrict to RU\r\n\t\tparseNumber('(800) 555 35 35', 'RU').should.deep.equal({ country: 'RU', phone: '8005553535' })\r\n\t\t// Default to RU\r\n\t\tparseNumber('8 (800) 555 35 35', { defaultCountry: 'RU' }).should.deep.equal({ country: 'RU', phone: '8005553535' })\r\n\r\n\t\t// Gangster partyline\r\n\t\tparseNumber('+1-213-373-4253').should.deep.equal({ country: 'US', phone: '2133734253' })\r\n\r\n\t\t// Switzerland (just in case)\r\n\t\tparseNumber('044 668 18 00', 'CH').should.deep.equal({ country: 'CH', phone: '446681800' })\r\n\r\n\t\t// China, Beijing\r\n\t\tparseNumber('010-852644821', 'CN').should.deep.equal({ country: 'CN', phone: '10852644821' })\r\n\r\n\t\t// France\r\n\t\tparseNumber('+33169454850').should.deep.equal({ country: 'FR', phone: '169454850' })\r\n\r\n\t\t// UK (Jersey)\r\n\t\tparseNumber('+44 7700 300000').should.deep.equal({ country: 'JE', phone: '7700300000' })\r\n\r\n\t\t// KZ\r\n\t\tparseNumber('+7 702 211 1111').should.deep.equal({ country: 'KZ', phone: '7022111111' })\r\n\r\n\t\t// Brazil\r\n\t\tparseNumber('11987654321', 'BR').should.deep.equal({ country: 'BR', phone: '11987654321' })\r\n\r\n\t\t// Long country phone code.\r\n\t\tparseNumber('+212659777777').should.deep.equal({ country: 'MA', phone: '659777777' })\r\n\r\n\t\t// No country could be derived.\r\n\t\t// parseNumber('+212569887076').should.deep.equal({ countryPhoneCode: '212', phone: '569887076' })\r\n\r\n\t\t// GB. Moible numbers starting 07624* are Isle of Man.\r\n\t\tparseNumber('07624369230', 'GB').should.deep.equal({ country: 'IM', phone: '7624369230' })\r\n\t})\r\n\r\n\tit('should parse possible numbers', () => {\r\n\t\t// Invalid phone number for a given country.\r\n\t\tparseNumber('1112223344', 'RU', { extended: true }).should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tcountryCallingCode : '7',\r\n\t\t\tphone : '1112223344',\r\n\t\t\tcarrierCode : undefined,\r\n\t\t\text : undefined,\r\n\t\t\tvalid : false,\r\n\t\t\tpossible : true\r\n\t\t})\r\n\r\n\t\t// International phone number.\r\n\t\t// Several countries with the same country phone code.\r\n\t\tparseNumber('+71112223344').should.deep.equal({})\r\n\t\tparseNumber('+71112223344', { extended: true }).should.deep.equal({\r\n\t\t\tcountry : undefined,\r\n\t\t\tcountryCallingCode : '7',\r\n\t\t\tphone : '1112223344',\r\n\t\t\tcarrierCode : undefined,\r\n\t\t\text : undefined,\r\n\t\t\tvalid : false,\r\n\t\t\tpossible : true\r\n\t\t})\r\n\r\n\t\t// International phone number.\r\n\t\t// Single country with the given country phone code.\r\n\t\tparseNumber('+33011222333', { extended: true }).should.deep.equal({\r\n\t\t\tcountry : 'FR',\r\n\t\t\tcountryCallingCode : '33',\r\n\t\t\tphone : '011222333',\r\n\t\t\tcarrierCode : undefined,\r\n\t\t\text : undefined,\r\n\t\t\tvalid : false,\r\n\t\t\tpossible : true\r\n\t\t})\r\n\r\n\t\t// Too short.\r\n\t\t// Won't strip national prefix `8` because otherwise the number would be too short.\r\n\t\tparseNumber('+7 (800) 55-35-35', { extended: true }).should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tcountryCallingCode : '7',\r\n\t\t\tphone : '800553535',\r\n\t\t\tcarrierCode : undefined,\r\n\t\t\text : undefined,\r\n\t\t\tvalid : false,\r\n\t\t\tpossible : false\r\n\t\t})\r\n\r\n\t\t// Too long.\r\n\t\tparseNumber('+1 213 37342530', { extended: true }).should.deep.equal({\r\n\t\t\tcountry : undefined,\r\n\t\t\tcountryCallingCode : '1',\r\n\t\t\tphone : '21337342530',\r\n\t\t\tcarrierCode : undefined,\r\n\t\t\text : undefined,\r\n\t\t\tvalid : false,\r\n\t\t\tpossible : false\r\n\t\t})\r\n\r\n\t\t// No national number to be parsed.\r\n\t\tparseNumber('+996', { extended: true }).should.deep.equal({\r\n\t\t\t// countryCallingCode : '996'\r\n\t\t})\r\n\r\n\t\t// Valid number.\r\n\t\tparseNumber('+78005553535', { extended: true }).should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tcountryCallingCode : '7',\r\n\t\t\tphone : '8005553535',\r\n\t\t\tcarrierCode : undefined,\r\n\t\t\text : undefined,\r\n\t\t\tvalid : true,\r\n\t\t\tpossible : true\r\n\t\t})\r\n\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/211\r\n\t\tparseNumber('+966', { extended: true }).should.deep.equal({})\r\n\t\tparseNumber('+9664', { extended: true }).should.deep.equal({})\r\n\t\tparseNumber('+96645', { extended: true }).should.deep.equal({\r\n\t\t\tcarrierCode : undefined,\r\n\t\t\tphone : '45',\r\n\t\t\text : undefined,\r\n\t\t\tcountry : 'SA',\r\n\t\t\tcountryCallingCode : '966',\r\n\t\t\tpossible : false,\r\n\t\t\tvalid : false\r\n\t\t})\r\n\t})\r\n\r\n\tit('should parse non-European digits', () => {\r\n\t\tparseNumber('+١٢١٢٢٣٢٣٢٣٢').should.deep.equal({ country: 'US', phone: '2122323232' })\r\n\t})\r\n\r\n\tit('should work in edge cases', () => {\r\n\t\tlet thrower\r\n\r\n\t\t// No input\r\n\t\tparseNumber('').should.deep.equal({})\r\n\r\n\t\t// No country phone code\r\n\t\tparseNumber('+').should.deep.equal({})\r\n\r\n\t\t// No country at all (non international number and no explicit country code)\r\n\t\tparseNumber('123').should.deep.equal({})\r\n\r\n\t\t// No country metadata for this `require` country code\r\n\t\tthrower = () => parseNumber('123', 'ZZ')\r\n\t\tthrower.should.throw('Unknown country')\r\n\r\n\t\t// No country metadata for this `default` country code\r\n\t\tthrower = () => parseNumber('123', { defaultCountry: 'ZZ' })\r\n\t\tthrower.should.throw('Unknown country')\r\n\r\n\t\t// Invalid country phone code\r\n\t\tparseNumber('+210').should.deep.equal({})\r\n\r\n\t\t// Invalid country phone code (extended parsing mode)\r\n\t\tparseNumber('+210', { extended: true }).should.deep.equal({})\r\n\r\n\t\t// Too short of a number.\r\n\t\tparseNumber('1', 'US', { extended: true }).should.deep.equal({})\r\n\r\n\t\t// Too long of a number.\r\n\t\tparseNumber('1111111111111111111', 'RU', { extended: true }).should.deep.equal({})\r\n\r\n\t\t// Not a number.\r\n\t\tparseNumber('abcdefg', 'US', { extended: true }).should.deep.equal({})\r\n\r\n\t\t// Country phone code beginning with a '0'\r\n\t\tparseNumber('+0123').should.deep.equal({})\r\n\r\n\t\t// Barbados NANPA phone number\r\n\t\tparseNumber('+12460000000').should.deep.equal({ country: 'BB', phone: '2460000000' })\r\n\r\n\t\t// // A case when country (restricted to) is not equal\r\n\t\t// // to the one parsed out of an international number.\r\n\t\t// parseNumber('+1-213-373-4253', 'RU').should.deep.equal({})\r\n\r\n\t\t// National (significant) number too short\r\n\t\tparseNumber('2', 'US').should.deep.equal({})\r\n\r\n\t\t// National (significant) number too long\r\n\t\tparseNumber('222222222222222222', 'US').should.deep.equal({})\r\n\r\n\t\t// No `national_prefix_for_parsing`\r\n\t\tparseNumber('41111', 'AC').should.deep.equal({ country: 'AC', phone: '41111'})\r\n\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/235\r\n\t\t// `matchesEntirely()` bug fix.\r\n\t\tparseNumber('+4915784846111‬').should.deep.equal({ country: 'DE', phone: '15784846111' })\r\n\r\n\t\t// No metadata\r\n\t\tthrower = () => _parseNumber('')\r\n\t\tthrower.should.throw('`metadata` argument not passed')\r\n\r\n\t\t// // Numerical `value`\r\n\t\t// thrower = () => parseNumber(2141111111, 'US')\r\n\t\t// thrower.should.throw('A text for parsing must be a string.')\r\n\r\n\t\t// Input string too long.\r\n\t\tparseNumber('8005553535 ', 'RU').should.deep.equal({})\r\n\t})\r\n\r\n\tit('should parse phone number extensions', () => {\r\n\t\t// \"ext\"\r\n\t\tparseNumber('2134567890 ext 123', 'US').should.deep.equal({\r\n\t\t\tcountry : 'US',\r\n\t\t\tphone : '2134567890',\r\n\t\t\text : '123'\r\n\t\t})\r\n\r\n\t\t// \"ext.\"\r\n\t\tparseNumber('+12134567890 ext. 12345', 'US').should.deep.equal({\r\n\t\t\tcountry : 'US',\r\n\t\t\tphone : '2134567890',\r\n\t\t\text : '12345'\r\n\t\t})\r\n\r\n\t\t// \"доб.\"\r\n\t\tparseNumber('+78005553535 доб. 1234', 'RU').should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tphone : '8005553535',\r\n\t\t\text : '1234'\r\n\t\t})\r\n\r\n\t\t// \"#\"\r\n\t\tparseNumber('+12134567890#1234').should.deep.equal({\r\n\t\t\tcountry : 'US',\r\n\t\t\tphone : '2134567890',\r\n\t\t\text : '1234'\r\n\t\t})\r\n\r\n\t\t// \"x\"\r\n\t\tparseNumber('+78005553535 x1234').should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tphone : '8005553535',\r\n\t\t\text : '1234'\r\n\t\t})\r\n\r\n\t\t// Not a valid extension\r\n\t\tparseNumber('2134567890 ext. abc', 'US').should.deep.equal({\r\n\t\t\tcountry : 'US',\r\n\t\t\tphone : '2134567890'\r\n\t\t})\r\n\t})\r\n\r\n\tit('should parse RFC 3966 phone numbers', () => {\r\n\t\tparseNumber('tel:+78005553535;ext=123').should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tphone : '8005553535',\r\n\t\t\text : '123'\r\n\t\t})\r\n\r\n\t\t// Should parse \"visual separators\".\r\n\t\tparseNumber('tel:+7(800)555-35.35;ext=123').should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tphone : '8005553535',\r\n\t\t\text : '123'\r\n\t\t})\r\n\r\n\t\t// Invalid number.\r\n\t\tparseNumber('tel:+7x8005553535;ext=123').should.deep.equal({})\r\n\t})\r\n\r\n\tit('should parse invalid international numbers even if they are invalid', () => {\r\n\t\tparseNumber('+7(8)8005553535', 'RU').should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tphone : '8005553535'\r\n\t\t})\r\n\t})\r\n\r\n\tit('should parse carrier codes', () => {\r\n\t\tparseNumber('0 15 21 5555-5555', 'BR', { extended: true }).should.deep.equal({\r\n\t\t\tcountry : 'BR',\r\n\t\t\tcountryCallingCode : '55',\r\n\t\t\tphone : '2155555555',\r\n\t\t\tcarrierCode : '15',\r\n\t\t\text : undefined,\r\n\t\t\tvalid : true,\r\n\t\t\tpossible : true\r\n\t\t})\r\n\t})\r\n\r\n\tit('should parse IDD prefixes', () => {\r\n\t\tparseNumber('011 61 2 3456 7890', 'US').should.deep.equal({\r\n\t\t\tphone : '234567890',\r\n\t\t\tcountry : 'AU'\r\n\t\t})\r\n\r\n\t\tparseNumber('011 61 2 3456 7890', 'FR').should.deep.equal({})\r\n\r\n\t\tparseNumber('00 61 2 3456 7890', 'US').should.deep.equal({})\r\n\r\n\t\tparseNumber('810 61 2 3456 7890', 'RU').should.deep.equal({\r\n\t\t\tphone : '234567890',\r\n\t\t\tcountry : 'AU'\r\n\t\t})\r\n\t})\r\n\r\n\tit('should work with v2 API', () => {\r\n\t\tparseNumber('+99989160151539')\r\n\t})\r\n\r\n\tit('should work with Argentina numbers', () => {\r\n\t\t// The same mobile number is written differently\r\n\t\t// in different formats in Argentina:\r\n\t\t// `9` gets prepended in international format.\r\n\t\tparseNumber('+54 9 3435 55 1212').should.deep.equal({\r\n\t\t\tcountry: 'AR',\r\n\t\t\tphone: '93435551212'\r\n\t\t})\r\n\t\tparseNumber('0343 15-555-1212', 'AR').should.deep.equal({\r\n\t\t\tcountry: 'AR',\r\n\t\t\tphone: '93435551212'\r\n\t\t})\r\n\t})\r\n\r\n\tit('should work with Mexico numbers', () => {\r\n\t\t// Fixed line.\r\n\t\tparseNumber('+52 449 978 0001').should.deep.equal({\r\n\t\t\tcountry: 'MX',\r\n\t\t\tphone: '4499780001'\r\n\t\t})\r\n\t\tparseNumber('01 (449)978-0001', 'MX').should.deep.equal({\r\n\t\t\tcountry: 'MX',\r\n\t\t\tphone: '4499780001'\r\n\t\t})\r\n\t\tparseNumber('(449)978-0001', 'MX').should.deep.equal({\r\n\t\t\tcountry: 'MX',\r\n\t\t\tphone: '4499780001'\r\n\t\t})\r\n\t\t// Mobile.\r\n\t\t// `1` is prepended before area code to mobile numbers in international format.\r\n\t\tparseNumber('+52 1 33 1234-5678', 'MX').should.deep.equal({\r\n\t\t\tcountry: 'MX',\r\n\t\t\tphone: '3312345678'\r\n\t\t})\r\n\t\tparseNumber('+52 33 1234-5678', 'MX').should.deep.equal({\r\n\t\t\tcountry: 'MX',\r\n\t\t\tphone: '3312345678'\r\n\t\t})\r\n\t\tparseNumber('044 (33) 1234-5678', 'MX').should.deep.equal({\r\n\t\t\tcountry: 'MX',\r\n\t\t\tphone: '3312345678'\r\n\t\t})\r\n\t\tparseNumber('045 33 1234-5678', 'MX').should.deep.equal({\r\n\t\t\tcountry: 'MX',\r\n\t\t\tphone: '3312345678'\r\n\t\t})\r\n\t})\r\n\r\n\tit('should parse non-geographic numbering plan phone numbers', () => {\r\n\t\tparseNumber('+870773111632').should.deep.equal(\r\n\t\t\tUSE_NON_GEOGRAPHIC_COUNTRY_CODE ?\r\n\t\t\t{\r\n\t\t\t\tcountry: '001',\r\n\t\t\t\tphone: '773111632'\r\n\t\t\t} :\r\n\t\t\t{}\r\n\t\t)\r\n\t})\r\n\r\n\tit('should parse non-geographic numbering plan phone numbers (default country code)', () => {\r\n\t\tparseNumber('773111632', { defaultCallingCode: '870' }).should.deep.equal(\r\n\t\t\tUSE_NON_GEOGRAPHIC_COUNTRY_CODE ?\r\n\t\t\t{\r\n\t\t\t\tcountry: '001',\r\n\t\t\t\tphone: '773111632'\r\n\t\t\t} :\r\n\t\t\t{}\r\n\t\t)\r\n\t})\r\n\r\n\tit('should parse non-geographic numbering plan phone numbers (extended)', () => {\r\n\t\tparseNumber('+870773111632', { extended: true }).should.deep.equal({\r\n\t\t\tcountry: USE_NON_GEOGRAPHIC_COUNTRY_CODE ? '001' : undefined,\r\n\t\t\tcountryCallingCode: '870',\r\n\t\t\tphone: '773111632',\r\n\t\t\tcarrierCode: undefined,\r\n\t\t\text: undefined,\r\n\t\t\tpossible: true,\r\n\t\t\tvalid: true\r\n\t\t})\r\n\t})\r\n\r\n\tit('should parse non-geographic numbering plan phone numbers (default country code) (extended)', () => {\r\n\t\tparseNumber('773111632', { defaultCallingCode: '870', extended: true }).should.deep.equal({\r\n\t\t\tcountry: USE_NON_GEOGRAPHIC_COUNTRY_CODE ? '001' : undefined,\r\n\t\t\tcountryCallingCode: '870',\r\n\t\t\tphone: '773111632',\r\n\t\t\tcarrierCode: undefined,\r\n\t\t\text: undefined,\r\n\t\t\tpossible: true,\r\n\t\t\tvalid: true\r\n\t\t})\r\n\t})\r\n\r\n\tit('shouldn\\'t crash when invalid `defaultCallingCode` is passed', () => {\r\n\t\texpect(() => parseNumber('773111632', { defaultCallingCode: '999' }))\r\n\t\t\t.to.throw('Unknown calling code')\r\n\t})\r\n\r\n\tit('shouldn\\'t set `country` when there\\'s no `defaultCountry` and `defaultCallingCode` is not of a \"non-geographic entity\"', () => {\r\n\t\tparseNumber('88005553535', { defaultCallingCode: '7' }).should.deep.equal({\r\n\t\t\tcountry: 'RU',\r\n\t\t\tphone: '8005553535'\r\n\t\t})\r\n\t})\r\n\r\n\tit('should correctly parse numbers starting with the same digit as the national prefix', () => {\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/373\r\n\t\t// `BY`'s `national_prefix` is `8`.\r\n\t\tparseNumber('+37582004910060').should.deep.equal({\r\n\t\t\tcountry: 'BY',\r\n\t\t\tphone: '82004910060'\r\n\t\t});\r\n\t})\r\n\r\n\tit('should autocorrect numbers without a leading +', () => {\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\t\tparseNumber('375447521111', 'BY').should.deep.equal({\r\n\t\t\tcountry: 'BY',\r\n\t\t\tphone: '447521111'\r\n\t\t});\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/316\r\n\t\tparseNumber('33612902554', 'FR').should.deep.equal({\r\n\t\t\tcountry: 'FR',\r\n\t\t\tphone: '612902554'\r\n\t\t});\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/375\r\n\t\tparseNumber('61438331999', 'AU').should.deep.equal({\r\n\t\t\tcountry: 'AU',\r\n\t\t\tphone: '438331999'\r\n\t\t});\r\n\t\t// A case when `49` is a country calling code of a number without a leading `+`.\r\n\t\tparseNumber('4930123456', 'DE').should.deep.equal({\r\n\t\t\tcountry: 'DE',\r\n\t\t\tphone: '30123456'\r\n\t\t});\r\n\t\t// A case when `49` is a valid area code.\r\n\t\tparseNumber('4951234567890', 'DE').should.deep.equal({\r\n\t\t\tcountry: 'DE',\r\n\t\t\tphone: '4951234567890'\r\n\t\t});\r\n\t})\r\n\r\n\tit('should parse extensions (long extensions with explicitl abels)', () => {\r\n\t\t// Test lower and upper limits of extension lengths for each type of label.\r\n\r\n\t\t// Firstly, when in RFC format: PhoneNumberUtil.extLimitAfterExplicitLabel\r\n\t\tparseNumber('33316005 ext 0', 'NZ').ext.should.equal('0')\r\n\t\tparseNumber('33316005 ext 01234567890123456789', 'NZ').ext.should.equal('01234567890123456789')\r\n\t\t// Extension too long.\r\n\t\texpect(parseNumber('33316005 ext 012345678901234567890', 'NZ').ext).to.be.undefined\r\n\r\n\t\t// Explicit extension label.\r\n\t\tparseNumber('03 3316005ext:1', 'NZ').ext.should.equal('1')\r\n\t\tparseNumber('03 3316005 xtn:12345678901234567890', 'NZ').ext.should.equal('12345678901234567890')\r\n\t\tparseNumber('03 3316005 extension\\t12345678901234567890', 'NZ').ext.should.equal('12345678901234567890')\r\n\t\tparseNumber('03 3316005 xtensio:12345678901234567890', 'NZ').ext.should.equal('12345678901234567890')\r\n\t\tparseNumber('03 3316005 xtensión, 12345678901234567890#', 'NZ').ext.should.equal('12345678901234567890')\r\n\t\tparseNumber('03 3316005extension.12345678901234567890', 'NZ').ext.should.equal('12345678901234567890')\r\n\t\tparseNumber('03 3316005 доб:12345678901234567890', 'NZ').ext.should.equal('12345678901234567890')\r\n\r\n\t\t// Extension too long.\r\n\t\texpect(parseNumber('03 3316005 extension 123456789012345678901', 'NZ').ext).to.be.undefined\r\n\t})\r\n\r\n\tit('should parse extensions (long extensions with auto dialling labels)', () => {\r\n\t\tparseNumber('+12679000000,,123456789012345#').ext.should.equal('123456789012345')\r\n\t\tparseNumber('+12679000000;123456789012345#').ext.should.equal('123456789012345')\r\n\t\tparseNumber('+442034000000,,123456789#').ext.should.equal('123456789')\r\n\t\t// Extension too long.\r\n\t\texpect(parseNumber('+12679000000,,1234567890123456#').ext).to.be.undefined\r\n\t})\r\n\r\n\tit('should parse extensions (short extensions with ambiguous characters)', () => {\r\n\t\tparseNumber('03 3316005 x 123456789', 'NZ').ext.should.equal('123456789')\r\n\t\tparseNumber('03 3316005 x. 123456789', 'NZ').ext.should.equal('123456789')\r\n\t\tparseNumber('03 3316005 #123456789#', 'NZ').ext.should.equal('123456789')\r\n\t\tparseNumber('03 3316005 ~ 123456789', 'NZ').ext.should.equal('123456789')\r\n\t\t// Extension too long.\r\n\t\texpect(parseNumber('03 3316005 ~ 1234567890', 'NZ').ext).to.be.undefined\r\n\t})\r\n\r\n\tit('should parse extensions (short extensions when not sure of label)', () => {\r\n\t\tparseNumber('+1123-456-7890 666666#', { v2: true }).ext.should.equal('666666')\r\n\t\tparseNumber('+11234567890-6#', { v2: true }).ext.should.equal('6')\r\n\t\t// Extension too long.\r\n\t\texpect(() => parseNumber('+1123-456-7890 7777777#', { v2: true })).to.throw('NOT_A_NUMBER')\r\n\t})\r\n\r\n\tit('should choose `defaultCountry` (non-\"main\" one) when multiple countries match the number', () => {\r\n\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/103\r\n\t\tconst phoneNumber = parseNumber('8004001000', { defaultCountry: 'CA', v2: true })\r\n\t\tphoneNumber.country.should.equal('CA')\r\n\r\n\t\tconst phoneNumber2 = parseNumber('4389999999', { defaultCountry: 'US', v2: true })\r\n\t\tphoneNumber.country.should.equal('CA')\r\n\t})\r\n})"],"mappings":"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"}