Back | Home
الـ Path الحالي: /home/picotech/domains/instantly.picotech.app/public_html/public/uploads/../uploads/../../../../instantly.picotech.app/homes/../../wa.picotech.app/public_html/node_modules/escape-html/../querystring/../@protobufjs/.././camelcase/../audio-buffer/.././libphonenumber-js/build
الملفات الموجودة في هذا الـ Path:
.
..
AsYouType.js
AsYouType.js.map
AsYouType.test.js
AsYouType.test.js.map
AsYouTypeFormatter.PatternMatcher.js
AsYouTypeFormatter.PatternMatcher.js.map
AsYouTypeFormatter.PatternMatcher.test.js
AsYouTypeFormatter.PatternMatcher.test.js.map
AsYouTypeFormatter.PatternParser.js
AsYouTypeFormatter.PatternParser.js.map
AsYouTypeFormatter.PatternParser.test.js
AsYouTypeFormatter.PatternParser.test.js.map
AsYouTypeFormatter.complete.js
AsYouTypeFormatter.complete.js.map
AsYouTypeFormatter.js
AsYouTypeFormatter.js.map
AsYouTypeFormatter.util.js
AsYouTypeFormatter.util.js.map
AsYouTypeFormatter.util.test.js
AsYouTypeFormatter.util.test.js.map
AsYouTypeParser.js
AsYouTypeParser.js.map
AsYouTypeState.js
AsYouTypeState.js.map
ParseError.js
ParseError.js.map
PhoneNumber.js
PhoneNumber.js.map
PhoneNumber.test.js
PhoneNumber.test.js.map
PhoneNumberMatcher.js
PhoneNumberMatcher.js.map
PhoneNumberMatcher.test.js
PhoneNumberMatcher.test.js.map
constants.js
constants.js.map
findNumbers
findPhoneNumbersInText.js
findPhoneNumbersInText.js.map
findPhoneNumbersInText.test.js
findPhoneNumbersInText.test.js.map
format.js
format.js.map
format.test.js
format.test.js.map
formatIncompletePhoneNumber.js
formatIncompletePhoneNumber.js.map
formatIncompletePhoneNumber.test.js
formatIncompletePhoneNumber.test.js.map
formatPhoneNumberForMobileDialing.js
formatPhoneNumberForMobileDialing.js.map
formatPhoneNumberForMobileDialing.test.js
formatPhoneNumberForMobileDialing.test.js.map
getCountries.js
getCountries.js.map
getCountries.test.js
getCountries.test.js.map
getCountryCallingCode.js
getCountryCallingCode.js.map
getCountryCallingCode.test.js
getCountryCallingCode.test.js.map
getExampleNumber.js
getExampleNumber.js.map
getExampleNumber.test.js
getExampleNumber.test.js.map
helpers
isPossible.js
isPossible.js.map
isPossible.test.js
isPossible.test.js.map
isPossiblePhoneNumber.js
isPossiblePhoneNumber.js.map
isPossiblePhoneNumber.test.js
isPossiblePhoneNumber.test.js.map
isValid.js
isValid.js.map
isValid.test.js
isValid.test.js.map
isValidPhoneNumber.js
isValidPhoneNumber.js.map
isValidPhoneNumber.test.js
isValidPhoneNumber.test.js.map
legacy
metadata.js
metadata.js.map
metadata.test.js
metadata.test.js.map
normalizeArguments.js
normalizeArguments.js.map
package.json
parse.js
parse.js.map
parse.test.js
parse.test.js.map
parseIncompletePhoneNumber.js
parseIncompletePhoneNumber.js.map
parseIncompletePhoneNumber.test.js
parseIncompletePhoneNumber.test.js.map
parsePhoneNumber.js
parsePhoneNumber.js.map
parsePhoneNumber.test.js
parsePhoneNumber.test.js.map
parsePhoneNumberWithError.js
parsePhoneNumberWithError.js.map
parsePhoneNumberWithError.test.js
parsePhoneNumberWithError.test.js.map
parsePhoneNumberWithError_.js
parsePhoneNumberWithError_.js.map
parsePhoneNumber_.js
parsePhoneNumber_.js.map
searchPhoneNumbersInText.js
searchPhoneNumbersInText.js.map
searchPhoneNumbersInText.test.js
searchPhoneNumbersInText.test.js.map
tools
validatePhoneNumberLength.js
validatePhoneNumberLength.js.map
validatePhoneNumberLength.test.js
validatePhoneNumberLength.test.js.map

مشاهدة ملف: format.test.js

"use strict";

var _metadataMin = _interopRequireDefault(require("../metadata.min.json"));

var _format = _interopRequireDefault(require("./format.js"));

var _parsePhoneNumber = _interopRequireDefault(require("./parsePhoneNumber.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function formatNumber() {
  var v2;

  for (var _len = arguments.length, parameters = new Array(_len), _key = 0; _key < _len; _key++) {
    parameters[_key] = arguments[_key];
  }

  if (parameters.length < 1) {
    // `input` parameter.
    parameters.push(undefined);
  } else {
    // Convert string `input` to a `PhoneNumber` instance.
    if (typeof parameters[0] === 'string') {
      v2 = true;
      parameters[0] = (0, _parsePhoneNumber["default"])(parameters[0], _objectSpread(_objectSpread({}, parameters[2]), {}, {
        extract: false
      }), _metadataMin["default"]);
    }
  }

  if (parameters.length < 2) {
    // `format` parameter.
    parameters.push(undefined);
  }

  if (parameters.length < 3) {
    // `options` parameter.
    parameters.push(undefined);
  } // Set `v2` flag.


  parameters[2] = _objectSpread({
    v2: v2
  }, parameters[2]); // Add `metadata` parameter.

  parameters.push(_metadataMin["default"]); // Call the function.

  return _format["default"].apply(this, parameters);
}

describe('format', function () {
  it('should work with the first argument being a E.164 number', function () {
    formatNumber('+12133734253', 'NATIONAL').should.equal('(213) 373-4253');
    formatNumber('+12133734253', 'INTERNATIONAL').should.equal('+1 213 373 4253'); // Invalid number.

    formatNumber('+12111111111', 'NATIONAL').should.equal('(211) 111-1111'); // Formatting invalid E.164 numbers.

    formatNumber('+11111', 'INTERNATIONAL').should.equal('+1 1111');
    formatNumber('+11111', 'NATIONAL').should.equal('1111');
  });
  it('should work with the first object argument expanded', function () {
    formatNumber('2133734253', 'NATIONAL', {
      defaultCountry: 'US'
    }).should.equal('(213) 373-4253');
    formatNumber('2133734253', 'INTERNATIONAL', {
      defaultCountry: 'US'
    }).should.equal('+1 213 373 4253');
  });
  it('should format using formats with no leading digits (`format.leadingDigitsPatterns().length === 0`)', function () {
    formatNumber({
      phone: '12345678901',
      countryCallingCode: 888
    }, 'INTERNATIONAL').should.equal('+888 123 456 78901');
  });
  it('should sort out the arguments', function () {
    var options = {
      formatExtension: function formatExtension(number, extension) {
        return "".concat(number, " \u0434\u043E\u0431. ").concat(extension);
      }
    };
    formatNumber({
      phone: '8005553535',
      country: 'RU',
      ext: '123'
    }, 'NATIONAL', options).should.equal('8 (800) 555-35-35 доб. 123'); // Parse number from string.

    formatNumber('+78005553535', 'NATIONAL', options).should.equal('8 (800) 555-35-35');
    formatNumber('8005553535', 'NATIONAL', _objectSpread(_objectSpread({}, options), {}, {
      defaultCountry: 'RU'
    })).should.equal('8 (800) 555-35-35');
  });
  it('should format with national prefix when specifically instructed', function () {
    // With national prefix.
    formatNumber('88005553535', 'NATIONAL', {
      defaultCountry: 'RU'
    }).should.equal('8 (800) 555-35-35'); // Without national prefix via an explicitly set option.

    formatNumber('88005553535', 'NATIONAL', {
      nationalPrefix: false,
      defaultCountry: 'RU'
    }).should.equal('800 555-35-35');
  });
  it('should format valid phone numbers', function () {
    // Switzerland
    formatNumber({
      country: 'CH',
      phone: '446681800'
    }, 'INTERNATIONAL').should.equal('+41 44 668 18 00');
    formatNumber({
      country: 'CH',
      phone: '446681800'
    }, 'E.164').should.equal('+41446681800');
    formatNumber({
      country: 'CH',
      phone: '446681800'
    }, 'RFC3966').should.equal('tel:+41446681800');
    formatNumber({
      country: 'CH',
      phone: '446681800'
    }, 'NATIONAL').should.equal('044 668 18 00'); // France

    formatNumber({
      country: 'FR',
      phone: '169454850'
    }, 'NATIONAL').should.equal('01 69 45 48 50'); // Kazakhstan

    formatNumber('+7 702 211 1111', 'NATIONAL').should.deep.equal('8 (702) 211 1111');
  });
  it('should format national numbers with national prefix even if it\'s optional', function () {
    // Russia
    formatNumber({
      country: 'RU',
      phone: '9991234567'
    }, 'NATIONAL').should.equal('8 (999) 123-45-67');
  });
  it('should work in edge cases', function () {
    var thrower; // // No phone number
    // formatNumber('', 'INTERNATIONAL', { defaultCountry: 'RU' }).should.equal('')
    // formatNumber('', 'NATIONAL', { defaultCountry: 'RU' }).should.equal('')

    formatNumber({
      country: 'RU',
      phone: ''
    }, 'INTERNATIONAL').should.equal('+7');
    formatNumber({
      country: 'RU',
      phone: ''
    }, 'NATIONAL').should.equal(''); // No suitable format

    formatNumber('+121337342530', 'NATIONAL', {
      defaultCountry: 'US'
    }).should.equal('21337342530'); // No suitable format (leading digits mismatch)

    formatNumber('28199999', 'NATIONAL', {
      defaultCountry: 'AD'
    }).should.equal('28199999'); // // Numerical `value`
    // thrower = () => formatNumber(89150000000, 'NATIONAL', { defaultCountry: 'RU' })
    // thrower.should.throw('A phone number must either be a string or an object of shape { phone, [country] }.')
    // // No metadata for country
    // expect(() => formatNumber('+121337342530', 'NATIONAL', { defaultCountry: 'USA' })).to.throw('Unknown country')
    // expect(() => formatNumber('21337342530', 'NATIONAL', { defaultCountry: 'USA' })).to.throw('Unknown country')
    // No format type

    thrower = function thrower() {
      return formatNumber('+123');
    };

    thrower.should["throw"]('Unknown "format" argument'); // Unknown format type

    thrower = function thrower() {
      return formatNumber('123', 'Gay', {
        defaultCountry: 'US'
      });
    };

    thrower.should["throw"]('Unknown "format" argument'); // // No metadata
    // thrower = () => _formatNumber('123', 'E.164', { defaultCountry: 'RU' })
    // thrower.should.throw('`metadata`')
    // No formats

    formatNumber('012345', 'NATIONAL', {
      defaultCountry: 'AC'
    }).should.equal('012345'); // No `fromCountry` for `IDD` format.

    expect(formatNumber('+78005553535', 'IDD')).to.be.undefined; // `fromCountry` has no default IDD prefix.

    expect(formatNumber('+78005553535', 'IDD', {
      fromCountry: 'BO'
    })).to.be.undefined; // No such country.

    expect(function () {
      return formatNumber({
        phone: '123',
        country: 'USA'
      }, 'NATIONAL');
    }).to["throw"]('Unknown country');
  });
  it('should format phone number extensions', function () {
    // National
    formatNumber({
      country: 'US',
      phone: '2133734253',
      ext: '123'
    }, 'NATIONAL').should.equal('(213) 373-4253 ext. 123'); // International

    formatNumber({
      country: 'US',
      phone: '2133734253',
      ext: '123'
    }, 'INTERNATIONAL').should.equal('+1 213 373 4253 ext. 123'); // International

    formatNumber({
      country: 'US',
      phone: '2133734253',
      ext: '123'
    }, 'INTERNATIONAL').should.equal('+1 213 373 4253 ext. 123'); // E.164

    formatNumber({
      country: 'US',
      phone: '2133734253',
      ext: '123'
    }, 'E.164').should.equal('+12133734253'); // RFC3966

    formatNumber({
      country: 'US',
      phone: '2133734253',
      ext: '123'
    }, 'RFC3966').should.equal('tel:+12133734253;ext=123'); // Custom ext prefix.

    formatNumber({
      country: 'GB',
      phone: '7912345678',
      ext: '123'
    }, 'INTERNATIONAL').should.equal('+44 7912 345678 x123');
  });
  it('should work with Argentina numbers', function () {
    // The same mobile number is written differently
    // in different formats in Argentina:
    // `9` gets prepended in international format.
    formatNumber({
      country: 'AR',
      phone: '3435551212'
    }, 'INTERNATIONAL').should.equal('+54 3435 55 1212');
    formatNumber({
      country: 'AR',
      phone: '3435551212'
    }, 'NATIONAL').should.equal('03435 55-1212');
  });
  it('should work with Mexico numbers', function () {
    // Fixed line.
    formatNumber({
      country: 'MX',
      phone: '4499780001'
    }, 'INTERNATIONAL').should.equal('+52 449 978 0001');
    formatNumber({
      country: 'MX',
      phone: '4499780001'
    }, 'NATIONAL').should.equal('449 978 0001'); // or '(449)978-0001'.
    // Mobile.
    // `1` is prepended before area code to mobile numbers in international format.

    formatNumber({
      country: 'MX',
      phone: '3312345678'
    }, 'INTERNATIONAL').should.equal('+52 33 1234 5678');
    formatNumber({
      country: 'MX',
      phone: '3312345678'
    }, 'NATIONAL').should.equal('33 1234 5678'); // or '045 33 1234-5678'.
  });
  it('should format possible numbers', function () {
    formatNumber({
      countryCallingCode: '7',
      phone: '1111111111'
    }, 'E.164').should.equal('+71111111111');
    formatNumber({
      countryCallingCode: '7',
      phone: '1111111111'
    }, 'NATIONAL').should.equal('1111111111');
    formatNumber({
      countryCallingCode: '7',
      phone: '1111111111'
    }, 'INTERNATIONAL').should.equal('+7 1111111111');
  });
  it('should format IDD-prefixed number', function () {
    // No `fromCountry`.
    expect(formatNumber('+78005553535', 'IDD')).to.be.undefined; // No default IDD prefix.

    expect(formatNumber('+78005553535', 'IDD', {
      fromCountry: 'BO'
    })).to.be.undefined; // Same country calling code.

    formatNumber('+12133734253', 'IDD', {
      fromCountry: 'CA',
      humanReadable: true
    }).should.equal('1 (213) 373-4253');
    formatNumber('+78005553535', 'IDD', {
      fromCountry: 'KZ',
      humanReadable: true
    }).should.equal('8 (800) 555-35-35'); // formatNumber('+78005553535', 'IDD', { fromCountry: 'US' }).should.equal('01178005553535')

    formatNumber('+78005553535', 'IDD', {
      fromCountry: 'US',
      humanReadable: true
    }).should.equal('011 7 800 555 35 35');
  });
  it('should format non-geographic numbering plan phone numbers', function () {
    // https://github.com/catamphetamine/libphonenumber-js/issues/323
    formatNumber('+870773111632', 'INTERNATIONAL').should.equal('+870 773 111 632');
    formatNumber('+870773111632', 'NATIONAL').should.equal('773 111 632');
  });
  it('should use the default IDD prefix when formatting a phone number', function () {
    // Testing preferred international prefixes with ~ are supported.
    // ("~" designates waiting on a line until proceeding with the input).
    formatNumber('+390236618300', 'IDD', {
      fromCountry: 'UZ'
    }).should.equal('8~10 39 02 3661 8300');
  });
});
//# sourceMappingURL=format.test.js.map