UNPKG

17.9 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../source/format.test.js"],"names":["formatNumber","parameters","push","metadata","_formatNumber","apply","describe","it","should","equal","options","formatExtension","number","extension","phone","country","ext","nationalPrefix","deep","thrower","expect","to","be","undefined","fromCountry","countryCallingCode","humanReadable"],"mappings":"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","sourcesContent":["import metadata from '../metadata.min.json'\r\nimport _formatNumber from './format'\r\n\r\nfunction formatNumber(...parameters) {\r\n\tparameters.push(metadata)\r\n\treturn _formatNumber.apply(this, parameters)\r\n}\r\n\r\ndescribe('format', () => {\r\n\tit('should work with the first argument being a E.164 number', () => {\r\n\t\tformatNumber('+12133734253', 'NATIONAL').should.equal('(213) 373-4253')\r\n\t\tformatNumber('+12133734253', 'INTERNATIONAL').should.equal('+1 213 373 4253')\r\n\r\n\t\t// Invalid number.\r\n\t\tformatNumber('+12111111111', 'NATIONAL').should.equal('(211) 111-1111')\r\n\r\n\t\t// Formatting invalid E.164 numbers.\r\n\t\tformatNumber('+11111', 'INTERNATIONAL').should.equal('+1 1111')\r\n\t\tformatNumber('+11111', 'NATIONAL').should.equal('1111')\r\n\t})\r\n\r\n\tit('should work with the first object argument expanded', () => {\r\n\t\tformatNumber('2133734253', 'US', 'NATIONAL').should.equal('(213) 373-4253')\r\n\t\tformatNumber('2133734253', 'US', 'INTERNATIONAL').should.equal('+1 213 373 4253')\r\n\t})\r\n\r\n\tit('should sort out the arguments', () => {\r\n\t\tconst options = {\r\n\t\t\tformatExtension: (number, extension) => `${number} доб. ${extension}`\r\n\t\t}\r\n\r\n\t\tformatNumber({\r\n\t\t\tphone : '8005553535',\r\n\t\t\tcountry : 'RU',\r\n\t\t\text : '123'\r\n\t\t},\r\n\t\t'NATIONAL', options).should.equal('8 (800) 555-35-35 доб. 123')\r\n\r\n\t\t// Parse number from string.\r\n\t\tformatNumber('+78005553535', 'NATIONAL', options).should.equal('8 (800) 555-35-35')\r\n\t\tformatNumber('8005553535', 'RU', 'NATIONAL', options).should.equal('8 (800) 555-35-35')\r\n\t})\r\n\r\n\tit('should format with national prefix when specifically instructed', () => {\r\n\t\t// With national prefix.\r\n\t\tformatNumber('88005553535', 'RU', 'NATIONAL').should.equal('8 (800) 555-35-35')\r\n\t\t// Without national prefix via an explicitly set option.\r\n\t\tformatNumber('88005553535', 'RU', 'NATIONAL', { nationalPrefix: false }).should.equal('800 555-35-35')\r\n\t})\r\n\r\n\tit('should format valid phone numbers', () => {\r\n\t\t// Switzerland\r\n\t\tformatNumber({ country: 'CH', phone: '446681800' }, 'INTERNATIONAL').should.equal('+41 44 668 18 00')\r\n\t\tformatNumber({ country: 'CH', phone: '446681800' }, 'E.164').should.equal('+41446681800')\r\n\t\tformatNumber({ country: 'CH', phone: '446681800' }, 'RFC3966').should.equal('tel:+41446681800')\r\n\t\tformatNumber({ country: 'CH', phone: '446681800' }, 'NATIONAL').should.equal('044 668 18 00')\r\n\r\n\t\t// France\r\n\t\tformatNumber({ country: 'FR', phone: '169454850' }, 'NATIONAL').should.equal('01 69 45 48 50')\r\n\r\n\t\t// Kazakhstan\r\n\t\tformatNumber('+7 702 211 1111', 'NATIONAL').should.deep.equal('8 (702) 211 1111')\r\n\t})\r\n\r\n\tit('should format national numbers with national prefix even if it\\'s optional', () => {\r\n\t\t// Russia\r\n\t\tformatNumber({ country: 'RU', phone: '9991234567' }, 'NATIONAL').should.equal('8 (999) 123-45-67')\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 phone number\r\n\t\tformatNumber('', 'RU', 'INTERNATIONAL').should.equal('')\r\n\t\tformatNumber('', 'RU', 'NATIONAL').should.equal('')\r\n\r\n\t\tformatNumber({ country: 'RU', phone: '' }, 'INTERNATIONAL').should.equal('+7')\r\n\t\tformatNumber({ country: 'RU', phone: '' }, 'NATIONAL').should.equal('')\r\n\r\n\t\t// No suitable format\r\n\t\tformatNumber('+121337342530', 'US', 'NATIONAL').should.equal('21337342530')\r\n\t\t// No suitable format (leading digits mismatch)\r\n\t\tformatNumber('28199999', 'AD', 'NATIONAL').should.equal('28199999')\r\n\r\n\t\t// Numerical `value`\r\n\t\tthrower = () => formatNumber(89150000000, 'RU', 'NATIONAL')\r\n\t\tthrower.should.throw('A phone number must either be a string or an object of shape { phone, [country] }.')\r\n\r\n\t\t// No metadata for country\r\n\t\texpect(() => formatNumber('+121337342530', 'USA', 'NATIONAL')).to.throw('Unknown country')\r\n\t\texpect(() => formatNumber('21337342530', 'USA', 'NATIONAL')).to.throw('Unknown country')\r\n\r\n\t\t// No format type\r\n\t\tthrower = () => formatNumber('+123')\r\n\t\tthrower.should.throw('`format` argument not passed')\r\n\r\n\t\t// Unknown format type\r\n\t\tthrower = () => formatNumber('123', 'US', 'Gay')\r\n\t\tthrower.should.throw('Unknown \"format\" argument')\r\n\r\n\t\t// No metadata\r\n\t\tthrower = () => _formatNumber('123', 'US', 'E.164')\r\n\t\tthrower.should.throw('`metadata`')\r\n\r\n\t\t// No formats\r\n\t\tformatNumber('012345', 'AC', 'NATIONAL').should.equal('012345')\r\n\r\n\t\t// No `fromCountry` for `IDD` format.\r\n\t\texpect(formatNumber('+78005553535', 'IDD')).to.be.undefined\r\n\r\n\t\t// `fromCountry` has no default IDD prefix.\r\n\t\texpect(formatNumber('+78005553535', 'IDD', { fromCountry: 'BO' })).to.be.undefined\r\n\r\n\t\t// No such country.\r\n\t\texpect(() => formatNumber({ phone: '123', country: 'USA' }, 'NATIONAL')).to.throw('Unknown country')\r\n\t})\r\n\r\n\tit('should format phone number extensions', () => {\r\n\t\t// National\r\n\t\tformatNumber({\r\n\t\t\tcountry: 'US',\r\n\t\t\tphone: '2133734253',\r\n\t\t\text: '123'\r\n\t\t},\r\n\t\t'NATIONAL').should.equal('(213) 373-4253 ext. 123')\r\n\r\n\t\t// International\r\n\t\tformatNumber({\r\n\t\t\tcountry : 'US',\r\n\t\t\tphone : '2133734253',\r\n\t\t\text : '123'\r\n\t\t},\r\n\t\t'INTERNATIONAL').should.equal('+1 213 373 4253 ext. 123')\r\n\r\n\t\t// International\r\n\t\tformatNumber({\r\n\t\t\tcountry : 'US',\r\n\t\t\tphone : '2133734253',\r\n\t\t\text : '123'\r\n\t\t},\r\n\t\t'INTERNATIONAL').should.equal('+1 213 373 4253 ext. 123')\r\n\r\n\t\t// E.164\r\n\t\tformatNumber({\r\n\t\t\tcountry : 'US',\r\n\t\t\tphone : '2133734253',\r\n\t\t\text : '123'\r\n\t\t},\r\n\t\t'E.164').should.equal('+12133734253')\r\n\r\n\t\t// RFC3966\r\n\t\tformatNumber({\r\n\t\t\tcountry : 'US',\r\n\t\t\tphone : '2133734253',\r\n\t\t\text : '123'\r\n\t\t},\r\n\t\t'RFC3966').should.equal('tel:+12133734253;ext=123')\r\n\r\n\t\t// Custom ext prefix.\r\n\t\tformatNumber({\r\n\t\t\tcountry : 'GB',\r\n\t\t\tphone : '7912345678',\r\n\t\t\text : '123'\r\n\t\t},\r\n\t\t'INTERNATIONAL').should.equal('+44 7912 345678 x123')\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\tformatNumber({ country: 'AR', phone: '3435551212' }, 'INTERNATIONAL')\r\n\t\t\t.should.equal('+54 3435 55 1212')\r\n\t\tformatNumber({ country: 'AR', phone: '3435551212' }, 'NATIONAL')\r\n\t\t\t.should.equal('03435 55-1212')\r\n\t})\r\n\r\n\tit('should work with Mexico numbers', () => {\r\n\t\t// Fixed line.\r\n\t\tformatNumber({ country: 'MX', phone: '4499780001' }, 'INTERNATIONAL')\r\n\t\t\t.should.equal('+52 449 978 0001')\r\n\t\tformatNumber({ country: 'MX', phone: '4499780001' }, 'NATIONAL')\r\n\t\t\t.should.equal('449 978 0001')\r\n\t\t\t// or '(449)978-0001'.\r\n\t\t// Mobile.\r\n\t\t// `1` is prepended before area code to mobile numbers in international format.\r\n\t\tformatNumber({ country: 'MX', phone: '3312345678' }, 'INTERNATIONAL')\r\n\t\t\t.should.equal('+52 33 1234 5678')\r\n\t\tformatNumber({ country: 'MX', phone: '3312345678' }, 'NATIONAL')\r\n\t\t\t.should.equal('33 1234 5678')\r\n\t\t\t// or '045 33 1234-5678'.\r\n\t})\r\n\r\n\tit('should format possible numbers', () => {\r\n\t\tformatNumber({ countryCallingCode: '7', phone: '1111111111' }, 'E.164')\r\n\t\t\t.should.equal('+71111111111')\r\n\r\n\t\tformatNumber({ countryCallingCode: '7', phone: '1111111111' }, 'NATIONAL')\r\n\t\t\t.should.equal('1111111111')\r\n\r\n\t\tformatNumber({ countryCallingCode: '7', phone: '1111111111' }, 'INTERNATIONAL')\r\n\t\t\t.should.equal('+7 1111111111')\r\n\t})\r\n\r\n\tit('should format IDD-prefixed number', () => {\r\n\t\t// No `fromCountry`.\r\n\t\texpect(formatNumber('+78005553535', 'IDD')).to.be.undefined\r\n\r\n\t\t// No default IDD prefix.\r\n\t\texpect(formatNumber('+78005553535', 'IDD', { fromCountry: 'BO' })).to.be.undefined\r\n\r\n\t\t// Same country calling code.\r\n\t\tformatNumber('+12133734253', 'IDD', { fromCountry: 'CA', humanReadable: true }).should.equal('1 (213) 373-4253')\r\n\t\tformatNumber('+78005553535', 'IDD', { fromCountry: 'KZ', humanReadable: true }).should.equal('8 (800) 555-35-35')\r\n\r\n\t\t// formatNumber('+78005553535', 'IDD', { fromCountry: 'US' }).should.equal('01178005553535')\r\n\t\tformatNumber('+78005553535', 'IDD', { fromCountry: 'US', humanReadable: true }).should.equal('011 7 800 555 35 35')\r\n\t})\r\n\r\n\tit('should format non-geographic numbering plan phone numbers', () => {\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/323\r\n\t\tformatNumber('+870773111632', 'INTERNATIONAL').should.equal('+870 773 111 632')\r\n\t\tformatNumber('+870773111632', 'NATIONAL').should.equal('773 111 632')\r\n\t})\r\n})"],"file":"format.test.js"}
\No newline at end of file