UNPKG

2.67 kBJavaScriptView Raw
1"use strict";
2
3var _parsePhoneNumberFromString2 = _interopRequireDefault(require("./parsePhoneNumberFromString"));
4
5var _metadataMin = _interopRequireDefault(require("../metadata.min.json"));
6
7function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8
9function parsePhoneNumberFromString() {
10 for (var _len = arguments.length, parameters = new Array(_len), _key = 0; _key < _len; _key++) {
11 parameters[_key] = arguments[_key];
12 }
13
14 parameters.push(_metadataMin["default"]);
15 return _parsePhoneNumberFromString2["default"].apply(this, parameters);
16}
17
18var USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;
19describe('parsePhoneNumberFromString', function () {
20 it('should parse phone numbers from string', function () {
21 parsePhoneNumberFromString('Phone: 8 (800) 555 35 35.', 'RU').nationalNumber.should.equal('8005553535');
22 expect(parsePhoneNumberFromString('3', 'RU')).to.be.undefined;
23 });
24 it('should work in edge cases', function () {
25 expect(parsePhoneNumberFromString('')).to.be.undefined;
26 });
27 it('should parse phone numbers when invalid country code is passed', function () {
28 parsePhoneNumberFromString('Phone: +7 (800) 555 35 35.', 'XX').nationalNumber.should.equal('8005553535');
29 expect(parsePhoneNumberFromString('Phone: 8 (800) 555-35-35.', 'XX')).to.be.undefined;
30 });
31 it('should parse non-geographic numbering plan phone numbers (extended)', function () {
32 var phoneNumber = parsePhoneNumberFromString('+870773111632');
33 phoneNumber.number.should.equal('+870773111632');
34
35 if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {
36 phoneNumber.country.should.equal('001');
37 } else {
38 expect(phoneNumber.country).to.be.undefined;
39 }
40
41 phoneNumber.countryCallingCode.should.equal('870');
42 });
43 it('should parse non-geographic numbering plan phone numbers (default country code) (extended)', function () {
44 var phoneNumber = parsePhoneNumberFromString('773111632', {
45 defaultCallingCode: '870'
46 });
47 phoneNumber.number.should.equal('+870773111632');
48
49 if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {
50 phoneNumber.country.should.equal('001');
51 } else {
52 expect(phoneNumber.country).to.be.undefined;
53 }
54
55 phoneNumber.countryCallingCode.should.equal('870');
56 });
57 it('should determine the possibility of non-geographic phone numbers', function () {
58 var phoneNumber = parsePhoneNumberFromString('+870773111632');
59 phoneNumber.isPossible().should.equal(true);
60 var phoneNumber2 = parsePhoneNumberFromString('+8707731116321');
61 phoneNumber2.isPossible().should.equal(false);
62 });
63});
64//# sourceMappingURL=parsePhoneNumberFromString.test.js.map
\No newline at end of file