phony 2.20.14 → 2.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/README.textile +1 -1
 - data/lib/phony/config.rb +25 -26
 - data/lib/phony/countries/argentina.rb +311 -314
 - data/lib/phony/countries/austria.rb +71 -72
 - data/lib/phony/countries/bangladesh.rb +27 -28
 - data/lib/phony/countries/belarus.rb +110 -111
 - data/lib/phony/countries/brazil.rb +92 -92
 - data/lib/phony/countries/cambodia.rb +9 -9
 - data/lib/phony/countries/china.rb +22 -21
 - data/lib/phony/countries/croatia.rb +6 -5
 - data/lib/phony/countries/georgia.rb +84 -84
 - data/lib/phony/countries/germany.rb +4067 -4068
 - data/lib/phony/countries/guinea.rb +8 -8
 - data/lib/phony/countries/india.rb +31 -34
 - data/lib/phony/countries/indonesia.rb +57 -46
 - data/lib/phony/countries/ireland.rb +4 -5
 - data/lib/phony/countries/italy.rb +54 -53
 - data/lib/phony/countries/japan.rb +456 -456
 - data/lib/phony/countries/kyrgyzstan.rb +109 -109
 - data/lib/phony/countries/latvia.rb +34 -34
 - data/lib/phony/countries/libya.rb +106 -106
 - data/lib/phony/countries/malaysia.rb +12 -12
 - data/lib/phony/countries/moldova.rb +42 -42
 - data/lib/phony/countries/montenegro.rb +24 -20
 - data/lib/phony/countries/myanmar.rb +39 -39
 - data/lib/phony/countries/namibia.rb +35 -29
 - data/lib/phony/countries/nepal.rb +60 -62
 - data/lib/phony/countries/netherlands.rb +13 -13
 - data/lib/phony/countries/pakistan.rb +134 -110
 - data/lib/phony/countries/paraguay.rb +135 -135
 - data/lib/phony/countries/russia_kazakhstan_abkhasia_south_ossetia.rb +125 -128
 - data/lib/phony/countries/saudi_arabia.rb +5 -5
 - data/lib/phony/countries/serbia.rb +47 -39
 - data/lib/phony/countries/somalia.rb +18 -18
 - data/lib/phony/countries/south_korea.rb +16 -13
 - data/lib/phony/countries/sweden.rb +28 -28
 - data/lib/phony/countries/taiwan.rb +20 -19
 - data/lib/phony/countries/tajikistan.rb +70 -70
 - data/lib/phony/countries/turkmenistan.rb +65 -65
 - data/lib/phony/countries/ukraine.rb +607 -607
 - data/lib/phony/countries/united_kingdom.rb +66 -66
 - data/lib/phony/countries/uruguay.rb +40 -41
 - data/lib/phony/countries/vietnam.rb +18 -17
 - data/lib/phony/countries/zimbabwe.rb +31 -31
 - data/lib/phony/countries.rb +440 -443
 - data/lib/phony/country.rb +42 -44
 - data/lib/phony/country_codes.rb +66 -60
 - data/lib/phony/dsl.rb +23 -26
 - data/lib/phony/local_splitters/fixed.rb +20 -29
 - data/lib/phony/local_splitters/regex.rb +28 -31
 - data/lib/phony/national_code.rb +7 -10
 - data/lib/phony/national_splitters/default.rb +9 -11
 - data/lib/phony/national_splitters/dsl.rb +8 -18
 - data/lib/phony/national_splitters/fixed.rb +11 -14
 - data/lib/phony/national_splitters/none.rb +7 -11
 - data/lib/phony/national_splitters/regex.rb +13 -17
 - data/lib/phony/national_splitters/variable.rb +36 -38
 - data/lib/phony/trunk_code.rb +16 -18
 - data/lib/phony/vanity.rb +12 -13
 - data/lib/phony.rb +84 -84
 - metadata +5 -39
 - data/spec/functional/config_spec.rb +0 -44
 - data/spec/functional/plausibility_spec.rb +0 -689
 - data/spec/lib/phony/countries_spec.rb +0 -1460
 - data/spec/lib/phony/country_codes_spec.rb +0 -227
 - data/spec/lib/phony/country_spec.rb +0 -104
 - data/spec/lib/phony/dsl_spec.rb +0 -28
 - data/spec/lib/phony/local_splitters/fixed_spec.rb +0 -56
 - data/spec/lib/phony/local_splitters/regex_spec.rb +0 -94
 - data/spec/lib/phony/national_code_spec.rb +0 -61
 - data/spec/lib/phony/national_splitters/default_spec.rb +0 -34
 - data/spec/lib/phony/national_splitters/fixed_spec.rb +0 -45
 - data/spec/lib/phony/national_splitters/none_spec.rb +0 -28
 - data/spec/lib/phony/national_splitters/regex_spec.rb +0 -23
 - data/spec/lib/phony/national_splitters/variable_spec.rb +0 -35
 - data/spec/lib/phony/trunk_code_spec.rb +0 -85
 - data/spec/lib/phony/vanity_spec.rb +0 -30
 - data/spec/lib/phony_spec.rb +0 -70
 
| 
         @@ -1,1460 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # encoding: utf-8
         
     | 
| 
       2 
     | 
    
         
            -
            #
         
     | 
| 
       3 
     | 
    
         
            -
            require 'spec_helper'
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            describe 'country descriptions' do
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
              def self.it_splits number, expected
         
     | 
| 
       8 
     | 
    
         
            -
                it { expect(Phony.split(number)).to eq expected }
         
     | 
| 
       9 
     | 
    
         
            -
              end
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
              describe 'regression' do
         
     | 
| 
       12 
     | 
    
         
            -
                it_splits '33630588659', ["33", "6", "30", "58", "86", "59"]
         
     | 
| 
       13 
     | 
    
         
            -
              end
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
              describe 'splitting' do
         
     | 
| 
       16 
     | 
    
         
            -
                describe 'Ascension Island' do
         
     | 
| 
       17 
     | 
    
         
            -
                  it_splits '2473551', ['247', false, '3551']
         
     | 
| 
       18 
     | 
    
         
            -
                end
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
                describe 'Afghanistan' do
         
     | 
| 
       21 
     | 
    
         
            -
                  it_splits '93201234567', ['93', '20', '1234567'] # Kabul
         
     | 
| 
       22 
     | 
    
         
            -
                end
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
                describe 'Albania' do
         
     | 
| 
       25 
     | 
    
         
            -
                  it_splits '355691234567', ['355', '69', '123', '4567'] # Mobile 7 digits
         
     | 
| 
       26 
     | 
    
         
            -
                  it_splits '35569123456', ['355', '69', '123', '456'] # Mobile 6 digits
         
     | 
| 
       27 
     | 
    
         
            -
                  it_splits '35541234567', ['355', '4', '123', '4567'] # Tirana
         
     | 
| 
       28 
     | 
    
         
            -
                end
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
                describe 'Algeria' do
         
     | 
| 
       31 
     | 
    
         
            -
                  it_splits '213211231234', ['213', '21', '123', '1234'] # Algiers
         
     | 
| 
       32 
     | 
    
         
            -
                  it_splits '213331231234', ['213', '33', '123', '1234'] # Batna
         
     | 
| 
       33 
     | 
    
         
            -
                end
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                describe 'Argentina' do
         
     | 
| 
       36 
     | 
    
         
            -
                  it_splits '541112345678', ['54', '11', '1234', '5678']    # 2-digit area code / landline
         
     | 
| 
       37 
     | 
    
         
            -
                  it_splits '542911234567', ['54', '291', '123', '4567']    # 3-digit area code / landline
         
     | 
| 
       38 
     | 
    
         
            -
                  it_splits '542903123456', ['54', '2903', '12', '3456']    # 4-digit area code / landline
         
     | 
| 
       39 
     | 
    
         
            -
                  it_splits '5491112345678', ['54', '911', '1234', '5678']  # 2-digit area code / international mobile
         
     | 
| 
       40 
     | 
    
         
            -
                  it_splits '5492201234567', ['54', '9220', '123', '4567']  # 3-digit area code / international mobile
         
     | 
| 
       41 
     | 
    
         
            -
                  it_splits '5492221123456', ['54', '92221', '12', '3456']  # 4-digit area code / international mobile
         
     | 
| 
       42 
     | 
    
         
            -
                  it_splits '548001234567', ['54', '800', '123', '4567']    # Non-geographic number
         
     | 
| 
       43 
     | 
    
         
            -
                end
         
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
                describe 'Austria' do
         
     | 
| 
       46 
     | 
    
         
            -
                  it_splits '43198110',        %w( 43 1 98110 )        # Vienna
         
     | 
| 
       47 
     | 
    
         
            -
                  it_splits '4310000000',      %w( 43 1 0000000 )      # Vienna
         
     | 
| 
       48 
     | 
    
         
            -
                  it_splits '43800123456789',  %w( 43 800 123456789 )  # Free
         
     | 
| 
       49 
     | 
    
         
            -
                  it_splits '436780000000',    %w( 43 678 0000 000 )   # Mobile
         
     | 
| 
       50 
     | 
    
         
            -
                  it_splits '4368100000000',   %w( 43 681 0000 0000 )  # Mobile
         
     | 
| 
       51 
     | 
    
         
            -
                  it_splits '436880000000',    %w( 43 688 0000 000 )   # Mobile
         
     | 
| 
       52 
     | 
    
         
            -
                  it_splits '4366900000000',   %w( 43 669 0000 0000 )  # Mobile
         
     | 
| 
       53 
     | 
    
         
            -
                  it_splits '4367000000000',   %w( 43 670 0000 0000 )  # Mobile
         
     | 
| 
       54 
     | 
    
         
            -
                  it_splits '4369000000000',   %w( 43 690 0000 0000 )  # Mobile
         
     | 
| 
       55 
     | 
    
         
            -
                  it_splits '433161234567891', %w( 43 316 1234567891 ) # Graz
         
     | 
| 
       56 
     | 
    
         
            -
                  it_splits '432164123456789', %w( 43 2164 123456789 ) # Rohrau
         
     | 
| 
       57 
     | 
    
         
            -
                  it_splits '43720116987',     %w( 43 720 116987 )     # VoIP
         
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
       59 
     | 
    
         
            -
                  # mobile numbers can have from 7 to 10 digits in the subscriber number
         
     | 
| 
       60 
     | 
    
         
            -
                  it_splits '436641234567',    %w( 43 664 1234 567 )
         
     | 
| 
       61 
     | 
    
         
            -
                  it_splits '4366412345678',   %w( 43 664 1234 5678 )
         
     | 
| 
       62 
     | 
    
         
            -
                  it_splits '43664123456789',  %w( 43 664 1234 56789 )
         
     | 
| 
       63 
     | 
    
         
            -
                  it_splits '436641234567890', %w( 43 664 1234 567890 )
         
     | 
| 
       64 
     | 
    
         
            -
                end
         
     | 
| 
       65 
     | 
    
         
            -
             
     | 
| 
       66 
     | 
    
         
            -
                describe 'Australia' do
         
     | 
| 
       67 
     | 
    
         
            -
                  it_splits '61512341234', ['61', '5', '1234', '1234'] # Landline
         
     | 
| 
       68 
     | 
    
         
            -
                  it_splits '61423123123', ['61', '423', '123', '123'] # Mobile
         
     | 
| 
       69 
     | 
    
         
            -
                  it_splits '61131212', ['61', '13', '12', '12'] # 13 local rate
         
     | 
| 
       70 
     | 
    
         
            -
                  it_splits '611300123123', ['61', '1300', '123', '123'] # 1300 local rate
         
     | 
| 
       71 
     | 
    
         
            -
                  it_splits '611800123123', ['61', '1800', '123', '123'] # 1800 free call
         
     | 
| 
       72 
     | 
    
         
            -
                end
         
     | 
| 
       73 
     | 
    
         
            -
             
     | 
| 
       74 
     | 
    
         
            -
                describe 'Bahrain' do
         
     | 
| 
       75 
     | 
    
         
            -
                  it_splits '97312345678', ['973', false, '1234', '5678']
         
     | 
| 
       76 
     | 
    
         
            -
                end
         
     | 
| 
       77 
     | 
    
         
            -
             
     | 
| 
       78 
     | 
    
         
            -
                describe 'Bangladesh' do
         
     | 
| 
       79 
     | 
    
         
            -
                  it_splits '88021234567', %w(880 2 1234567)
         
     | 
| 
       80 
     | 
    
         
            -
                  it_splits '8805112345', %w(880 51 12345)
         
     | 
| 
       81 
     | 
    
         
            -
                  it_splits '88031123456', %w(880 31 123456)
         
     | 
| 
       82 
     | 
    
         
            -
                  it_splits '88032112345', %w(880 321 12345)
         
     | 
| 
       83 
     | 
    
         
            -
                  it_splits '8804311234567', %w(880 431 1234567)
         
     | 
| 
       84 
     | 
    
         
            -
                  it_splits '880902012345', %w(880 9020 12345)
         
     | 
| 
       85 
     | 
    
         
            -
                end
         
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
     | 
    
         
            -
                describe 'Belarus' do
         
     | 
| 
       88 
     | 
    
         
            -
                  it_splits '375152123456', %w(375 152 123456)
         
     | 
| 
       89 
     | 
    
         
            -
                  it_splits '375151512345', %w(375 1515 12345)
         
     | 
| 
       90 
     | 
    
         
            -
                  it_splits '375163423456', %w(375 163 423456)
         
     | 
| 
       91 
     | 
    
         
            -
                  it_splits '375163112345', %w(375 1631 12345)
         
     | 
| 
       92 
     | 
    
         
            -
                  it_splits '375291234567', %w(375 29 1234567)
         
     | 
| 
       93 
     | 
    
         
            -
                  it_splits '375800123', %w(375 800 123)
         
     | 
| 
       94 
     | 
    
         
            -
                  it_splits '3758001234', %w(375 800 1234)
         
     | 
| 
       95 
     | 
    
         
            -
                  it_splits '3758001234567', %w(375 800 1234567)
         
     | 
| 
       96 
     | 
    
         
            -
                  it_splits '37582012345678', %w(375 820 12345678)
         
     | 
| 
       97 
     | 
    
         
            -
                end
         
     | 
| 
       98 
     | 
    
         
            -
             
     | 
| 
       99 
     | 
    
         
            -
                describe 'Belgium' do
         
     | 
| 
       100 
     | 
    
         
            -
                  it_splits '3235551212', ['32', '3', '555', '12', '12']   # Antwerpen
         
     | 
| 
       101 
     | 
    
         
            -
                  it_splits '3250551212', ['32', '50', '55', '12', '12']   # Brugge
         
     | 
| 
       102 
     | 
    
         
            -
                  it_splits '3225551212', ['32', '2', '555', '12', '12']   # Brussels
         
     | 
| 
       103 
     | 
    
         
            -
                  it_splits '3295551914', ['32', '9', '555', '19', '14']   # Gent
         
     | 
| 
       104 
     | 
    
         
            -
                  it_splits '3245551414', ['32', '4', '555', '14', '14']   # Liège
         
     | 
| 
       105 
     | 
    
         
            -
                  it_splits '3216473200', ['32', '16', '47', '32', '00']   # Leuven
         
     | 
| 
       106 
     | 
    
         
            -
                  it_splits '32455123456', ['32', '455', '12', '34', '56'] # mobile (Voo)
         
     | 
| 
       107 
     | 
    
         
            -
                  it_splits '32456123456', ['32', '456', '12', '34', '56'] # mobile (MobileViking)
         
     | 
| 
       108 
     | 
    
         
            -
                  it_splits '32460123456', ['32', '460', '12', '34', '56'] # mobile (Proximus)
         
     | 
| 
       109 
     | 
    
         
            -
                  it_splits '32465123456', ['32', '465', '12', '34', '56'] # mobile (Lycamobile)
         
     | 
| 
       110 
     | 
    
         
            -
                  it_splits '32466123456', ['32', '466', '12', '34', '56'] # mobile (Vectone)
         
     | 
| 
       111 
     | 
    
         
            -
                  it_splits '32467123456', ['32', '467', '12', '34', '56'] # mobile (Telenet)
         
     | 
| 
       112 
     | 
    
         
            -
                  it_splits '32468123456', ['32', '468', '12', '34', '56'] # mobile (Telenet)
         
     | 
| 
       113 
     | 
    
         
            -
                  it_splits '32469123456', ['32', '469', '12', '34', '56'] # mobile ()
         
     | 
| 
       114 
     | 
    
         
            -
                  it_splits '32475123456', ['32', '475', '12', '34', '56'] # mobile (Proximus)
         
     | 
| 
       115 
     | 
    
         
            -
                  it_splits '32485123456', ['32', '485', '12', '34', '56'] # mobile (Telenet)
         
     | 
| 
       116 
     | 
    
         
            -
                  it_splits '32495123456', ['32', '495', '12', '34', '56'] # mobile (Orange)
         
     | 
| 
       117 
     | 
    
         
            -
                  it_splits '3270123123', ['32', '70', '123', '123']       # Bus Service?
         
     | 
| 
       118 
     | 
    
         
            -
                  it_splits '3278123123', ['32', '78', '123', '123']       # National rate service
         
     | 
| 
       119 
     | 
    
         
            -
                  it_splits '3290123123', ['32', '901', '23', '123']       # National rate service
         
     | 
| 
       120 
     | 
    
         
            -
                  it_splits '3280080404', ['32', '800', '80', '404']       # Apple support
         
     | 
| 
       121 
     | 
    
         
            -
                end
         
     | 
| 
       122 
     | 
    
         
            -
             
     | 
| 
       123 
     | 
    
         
            -
                describe 'Belize' do
         
     | 
| 
       124 
     | 
    
         
            -
                  it_splits '5012051234', %w(501 205 1234)
         
     | 
| 
       125 
     | 
    
         
            -
                end
         
     | 
| 
       126 
     | 
    
         
            -
             
     | 
| 
       127 
     | 
    
         
            -
                describe 'Benin' do
         
     | 
| 
       128 
     | 
    
         
            -
                  it_splits '22912345678', ['229', false, '1234', '5678']
         
     | 
| 
       129 
     | 
    
         
            -
                end
         
     | 
| 
       130 
     | 
    
         
            -
             
     | 
| 
       131 
     | 
    
         
            -
                describe 'Bolivia' do
         
     | 
| 
       132 
     | 
    
         
            -
                  it_splits '59122772266', %w(591 2 277 2266)
         
     | 
| 
       133 
     | 
    
         
            -
                end
         
     | 
| 
       134 
     | 
    
         
            -
             
     | 
| 
       135 
     | 
    
         
            -
                describe 'Botswana' do
         
     | 
| 
       136 
     | 
    
         
            -
                  it_splits '26780123456', %w(267 80 123 456)
         
     | 
| 
       137 
     | 
    
         
            -
                  it_splits '2672956789', %w(267 29 567 89)
         
     | 
| 
       138 
     | 
    
         
            -
                  it_splits '2674634567', %w(267 463 4567)
         
     | 
| 
       139 
     | 
    
         
            -
                  it_splits '2675812345', %w(267 58 123 45)
         
     | 
| 
       140 
     | 
    
         
            -
                  it_splits '26776712345', %w(267 7 6712 345)
         
     | 
| 
       141 
     | 
    
         
            -
                  it_splits '26781234567', %w(267 8 1234 567)
         
     | 
| 
       142 
     | 
    
         
            -
                end
         
     | 
| 
       143 
     | 
    
         
            -
             
     | 
| 
       144 
     | 
    
         
            -
                describe 'Bosnia and Herzegovina' do
         
     | 
| 
       145 
     | 
    
         
            -
                  it_splits '38766666666', %w(387 66 666 666)
         
     | 
| 
       146 
     | 
    
         
            -
                  it_splits '38733123456', %w(387 33 123 456)
         
     | 
| 
       147 
     | 
    
         
            -
                end
         
     | 
| 
       148 
     | 
    
         
            -
             
     | 
| 
       149 
     | 
    
         
            -
                describe 'Brazil' do
         
     | 
| 
       150 
     | 
    
         
            -
                  it_splits '551122341234', ['55', '11', '2234', '1234']
         
     | 
| 
       151 
     | 
    
         
            -
                  it_splits '5511981231234', ['55', '11', '98123', '1234'] # São Paulo's 9 digits mobile
         
     | 
| 
       152 
     | 
    
         
            -
                  it_splits '5521981231234', ['55', '21', '98123', '1234'] # Rio de Janeiro's 9 digits mobile
         
     | 
| 
       153 
     | 
    
         
            -
                  it_splits '551931311234', ['55', '19', '3131', '1234']
         
     | 
| 
       154 
     | 
    
         
            -
                  it_splits '5531991311234', ['55', '31', '99131', '1234'] # Belo Horizonte's 9th digit
         
     | 
| 
       155 
     | 
    
         
            -
                  it_splits '5571991311234', ['55', '71', '99131', '1234'] # Salvador's 9th digit
         
     | 
| 
       156 
     | 
    
         
            -
                  it_splits '5579991311234', ['55', '79', '99131', '1234'] # Sergipe's 9th digit
         
     | 
| 
       157 
     | 
    
         
            -
                  it_splits '5547991311234', ['55', '47', '99131', '1234'] # Santa Catarina's 9th digit
         
     | 
| 
       158 
     | 
    
         
            -
                  it_splits '5541991311234', ['55', '41', '99131', '1234'] # Parana's 9th digit
         
     | 
| 
       159 
     | 
    
         
            -
                  it_splits '556734212121', ['55', '67', '3421', '2121']
         
     | 
| 
       160 
     | 
    
         
            -
             
     | 
| 
       161 
     | 
    
         
            -
                  context 'mobile numbers' do
         
     | 
| 
       162 
     | 
    
         
            -
                    %w{
         
     | 
| 
       163 
     | 
    
         
            -
                      11 12 13 14 15 16 17 18 19
         
     | 
| 
       164 
     | 
    
         
            -
                      21 22 24 27 28
         
     | 
| 
       165 
     | 
    
         
            -
                      31 32 33 34 35 37 38
         
     | 
| 
       166 
     | 
    
         
            -
                      61 62 63 64 65 66 67 68 69
         
     | 
| 
       167 
     | 
    
         
            -
                      71 73 74 75 77 79
         
     | 
| 
       168 
     | 
    
         
            -
                      81 82 83 84 85 86 87 88 89
         
     | 
| 
       169 
     | 
    
         
            -
                      91 92 93 94 95 96 97 98 99
         
     | 
| 
       170 
     | 
    
         
            -
                      41 42 43 44 45 46
         
     | 
| 
       171 
     | 
    
         
            -
                      47 48 49
         
     | 
| 
       172 
     | 
    
         
            -
                      51 53 54 55
         
     | 
| 
       173 
     | 
    
         
            -
                    }.each do |state_code|
         
     | 
| 
       174 
     | 
    
         
            -
                      it_splits "55#{state_code}993051123", ['55', state_code, '99305', '1123']
         
     | 
| 
       175 
     | 
    
         
            -
                    end
         
     | 
| 
       176 
     | 
    
         
            -
                  end
         
     | 
| 
       177 
     | 
    
         
            -
             
     | 
| 
       178 
     | 
    
         
            -
                  context "special numbers" do
         
     | 
| 
       179 
     | 
    
         
            -
                    it_splits '5508002221234', ['55', '0800', '222', '1234']
         
     | 
| 
       180 
     | 
    
         
            -
                    it_splits '5530032221', ['55', '3003', '2221']
         
     | 
| 
       181 
     | 
    
         
            -
                    it_splits '5540209999', ['55', '4020', '9999']
         
     | 
| 
       182 
     | 
    
         
            -
                    it_splits '5540038999', ['55', '4003', '8999']
         
     | 
| 
       183 
     | 
    
         
            -
                    it_splits '5540048999', ['55', '4004', '8999']
         
     | 
| 
       184 
     | 
    
         
            -
                  end
         
     | 
| 
       185 
     | 
    
         
            -
             
     | 
| 
       186 
     | 
    
         
            -
                  context "service numbers" do
         
     | 
| 
       187 
     | 
    
         
            -
                    it_splits '55100', ['55', '100', ""]
         
     | 
| 
       188 
     | 
    
         
            -
                    it_splits '55199', ['55', '199', ""]
         
     | 
| 
       189 
     | 
    
         
            -
                  end
         
     | 
| 
       190 
     | 
    
         
            -
                end
         
     | 
| 
       191 
     | 
    
         
            -
                describe "Bulgaria" do
         
     | 
| 
       192 
     | 
    
         
            -
                  it_splits '35929284000', ['359', '2', '928', '4000']   # Sofia
         
     | 
| 
       193 
     | 
    
         
            -
                  it_splits '359878357523', ['359', '87', '8357', '523']
         
     | 
| 
       194 
     | 
    
         
            -
                  it_splits '3593012345', ['359', '30', '12345']
         
     | 
| 
       195 
     | 
    
         
            -
                  it_splits '35930123456', ['359', '30', '12', '3456']
         
     | 
| 
       196 
     | 
    
         
            -
                  it_splits '35943312345', ['359', '433', '12345']
         
     | 
| 
       197 
     | 
    
         
            -
                  it_splits '3596012345', ['359', '60', '12345']
         
     | 
| 
       198 
     | 
    
         
            -
                  it_splits '35969123456', ['359', '69', '123456']
         
     | 
| 
       199 
     | 
    
         
            -
                  it_splits '35970512345', ['359', '705', '12345']
         
     | 
| 
       200 
     | 
    
         
            -
                  it_splits '3597051234', ['359', '705', '1234']
         
     | 
| 
       201 
     | 
    
         
            -
                  it_splits '3597112345', ['359', '71', '12345']
         
     | 
| 
       202 
     | 
    
         
            -
                  it_splits '35979123456', ['359', '79', '123456']
         
     | 
| 
       203 
     | 
    
         
            -
                  it_splits '35980112345', ['359', '801', '12345']
         
     | 
| 
       204 
     | 
    
         
            -
                  it_splits '3598112345', ['359', '81', '12345']
         
     | 
| 
       205 
     | 
    
         
            -
                  it_splits '35986123456', ['359', '86', '123456']
         
     | 
| 
       206 
     | 
    
         
            -
                  it_splits '359881234567', ['359', '88', '1234', '567']
         
     | 
| 
       207 
     | 
    
         
            -
                  it_splits '35990123456', ['359', '90', '123456']
         
     | 
| 
       208 
     | 
    
         
            -
                  it_splits '359988123456', ['359', '988', '123456']
         
     | 
| 
       209 
     | 
    
         
            -
                  it_splits '359998123456', ['359', '998', '123456']
         
     | 
| 
       210 
     | 
    
         
            -
                end
         
     | 
| 
       211 
     | 
    
         
            -
                describe 'Cambodia' do
         
     | 
| 
       212 
     | 
    
         
            -
                  it_splits '85512236142', ["855", "12", "236", "142"]   # mobile (Mobitel)
         
     | 
| 
       213 
     | 
    
         
            -
                  it_splits '855977100872', ["855", "97", "710", "0872"] # mobile (Metfone)
         
     | 
| 
       214 
     | 
    
         
            -
                  it_splits '855234601183', ["855", "23", "460", "1183"] # Long fixed line (Phnom Penh)
         
     | 
| 
       215 
     | 
    
         
            -
                  it_splits '85533234567', ["855", "33", "234", "567"]   # Regular fixed line (Kampot)
         
     | 
| 
       216 
     | 
    
         
            -
                end
         
     | 
| 
       217 
     | 
    
         
            -
                describe 'Chile' do
         
     | 
| 
       218 
     | 
    
         
            -
                  it_splits '5621234567', ['56', '2', '1234567']       # Santiago
         
     | 
| 
       219 
     | 
    
         
            -
                  it_splits '5675123456', ['56', '75', '123456']       # Curico
         
     | 
| 
       220 
     | 
    
         
            -
                  it_splits '56912345678', ['56', '9', '12345678']     # Mobile
         
     | 
| 
       221 
     | 
    
         
            -
                  it_splits '56137123456', ['56', '137', '123', '456'] # Service
         
     | 
| 
       222 
     | 
    
         
            -
                end
         
     | 
| 
       223 
     | 
    
         
            -
                describe 'China' do
         
     | 
| 
       224 
     | 
    
         
            -
                  it_splits '862112345678', ['86', '21', '1234', '5678']   # Shanghai
         
     | 
| 
       225 
     | 
    
         
            -
                  it_splits '8675582193447', ['86', '755', '8219', '3447'] # Shenzhen
         
     | 
| 
       226 
     | 
    
         
            -
                  it_splits '869511234567', ['86', '951', '123', '4567']   # Yinchuan
         
     | 
| 
       227 
     | 
    
         
            -
             
     | 
| 
       228 
     | 
    
         
            -
                  context 'mobile numbers' do
         
     | 
| 
       229 
     | 
    
         
            -
                    %w{
         
     | 
| 
       230 
     | 
    
         
            -
                      130 131 132 133 134 135 136 137 138 139
         
     | 
| 
       231 
     | 
    
         
            -
                      145 146 147 148 149
         
     | 
| 
       232 
     | 
    
         
            -
                      150 151 152 153 155 156 157 158 159
         
     | 
| 
       233 
     | 
    
         
            -
                      162 165 166 167
         
     | 
| 
       234 
     | 
    
         
            -
                      170 171 172 173 174 175 176 177 178
         
     | 
| 
       235 
     | 
    
         
            -
                      180 181 182 183 184 185 186 187 188 189
         
     | 
| 
       236 
     | 
    
         
            -
                      190 191 192 193 195 196 197 198 199
         
     | 
| 
       237 
     | 
    
         
            -
                    }.each do |prefix|
         
     | 
| 
       238 
     | 
    
         
            -
                      it_splits "86#{prefix}12345678", ['86', prefix, '1234', '5678']
         
     | 
| 
       239 
     | 
    
         
            -
                    end
         
     | 
| 
       240 
     | 
    
         
            -
                  end
         
     | 
| 
       241 
     | 
    
         
            -
                end
         
     | 
| 
       242 
     | 
    
         
            -
                describe 'Colombia' do
         
     | 
| 
       243 
     | 
    
         
            -
                  it_splits '5711234567', ['57', '1', '123', '4567'] # Outdated.
         
     | 
| 
       244 
     | 
    
         
            -
                  it_splits '573101234567', ['57', '310', '123', '4567'] # mobile
         
     | 
| 
       245 
     | 
    
         
            -
                end
         
     | 
| 
       246 
     | 
    
         
            -
                describe 'Croatia' do
         
     | 
| 
       247 
     | 
    
         
            -
                  it_splits '38521695900',  %w( 385 21 695 900 )  # Landline
         
     | 
| 
       248 
     | 
    
         
            -
                  it_splits '38514566666',  %w( 385 1 4566 666 )  # Landline (Zagreb)
         
     | 
| 
       249 
     | 
    
         
            -
                  it_splits '38599444999',  %w( 385 99 444 999 )  # Mobile
         
     | 
| 
       250 
     | 
    
         
            -
                  it_splits '385918967509', %w( 385 91 896 7509 ) # Mobile
         
     | 
| 
       251 
     | 
    
         
            -
                  it_splits '3858001234',   %w( 385 800 1234 )    # Toll free
         
     | 
| 
       252 
     | 
    
         
            -
                  it_splits '385800123456', %w( 385 800 123 456 ) # Toll free
         
     | 
| 
       253 
     | 
    
         
            -
                  it_splits '3856012345',   %w( 385 60 12 345 )   # Premium rate
         
     | 
| 
       254 
     | 
    
         
            -
                  it_splits '38562123456',  %w( 385 62 123 456 )  # Premium, personal and UAN
         
     | 
| 
       255 
     | 
    
         
            -
                end
         
     | 
| 
       256 
     | 
    
         
            -
                describe 'Cuba' do
         
     | 
| 
       257 
     | 
    
         
            -
                  it_splits '5351231234', ['53', '5123', '1234'] # Mobile
         
     | 
| 
       258 
     | 
    
         
            -
                  it_splits '5371234567', ['53', '7', '1234567'] # Havana
         
     | 
| 
       259 
     | 
    
         
            -
                  it_splits '5342123456', ['53', '42', '123456'] # Villa Clara
         
     | 
| 
       260 
     | 
    
         
            -
                end
         
     | 
| 
       261 
     | 
    
         
            -
                describe 'Cyprus' do
         
     | 
| 
       262 
     | 
    
         
            -
                  it_splits '35712322123456', ['357', '123', '22', '123456'] # Voicemail
         
     | 
| 
       263 
     | 
    
         
            -
                  it_splits '35722123456',    ['357', '22', '123456']        # Fixed
         
     | 
| 
       264 
     | 
    
         
            -
                  it_splits '35791123456',    ['357', '91', '123456']        # Mobile
         
     | 
| 
       265 
     | 
    
         
            -
                end
         
     | 
| 
       266 
     | 
    
         
            -
                describe 'Denmark' do
         
     | 
| 
       267 
     | 
    
         
            -
                  it_splits '4532121212', ['45', false, '32', '12', '12', '12']
         
     | 
| 
       268 
     | 
    
         
            -
                end
         
     | 
| 
       269 
     | 
    
         
            -
                describe 'Egypt' do
         
     | 
| 
       270 
     | 
    
         
            -
                  it_splits '20212345678', ['20', '2', '12345678']
         
     | 
| 
       271 
     | 
    
         
            -
                  it_splits '20921234567', ['20', '92', '1234567']
         
     | 
| 
       272 
     | 
    
         
            -
                  it_splits '20951234567', ['20', '95', '1234567']
         
     | 
| 
       273 
     | 
    
         
            -
                end
         
     | 
| 
       274 
     | 
    
         
            -
                describe 'Equatorial Guinea' do
         
     | 
| 
       275 
     | 
    
         
            -
                  it_splits '240222201123', ['240', false, '222', '201', '123']
         
     | 
| 
       276 
     | 
    
         
            -
                  it_splits '240335201123', ['240', false, '335', '201', '123']
         
     | 
| 
       277 
     | 
    
         
            -
                end
         
     | 
| 
       278 
     | 
    
         
            -
                describe 'Estonia' do
         
     | 
| 
       279 
     | 
    
         
            -
                  it_splits '3723212345',  ['372', '321', '2345']   # Landline
         
     | 
| 
       280 
     | 
    
         
            -
                  it_splits '37251231234', ['372', '5123', '1234']  # Mobile
         
     | 
| 
       281 
     | 
    
         
            -
                  it_splits '3728001234',  ['372', '800', '1234']   # Freephone
         
     | 
| 
       282 
     | 
    
         
            -
                  it_splits '37281231234', ['372', '8123', '1234']  # Mobile
         
     | 
| 
       283 
     | 
    
         
            -
                  it_splits '37282231234', ['372', '8223', '1234']  # Mobile
         
     | 
| 
       284 
     | 
    
         
            -
                  it_splits '37252212345', ['372', '5221', '2345']  # Mobile
         
     | 
| 
       285 
     | 
    
         
            -
                  it_splits '3725221234', ['372',  '5221', '234']  # Mobile
         
     | 
| 
       286 
     | 
    
         
            -
                  it_splits '37270121234', ['372', '7012', '1234']  # Premium
         
     | 
| 
       287 
     | 
    
         
            -
                end
         
     | 
| 
       288 
     | 
    
         
            -
                describe 'Finland' do
         
     | 
| 
       289 
     | 
    
         
            -
                  it_splits '3589123123', ['358', '9', '123', '123'] # Helsinki
         
     | 
| 
       290 
     | 
    
         
            -
                  it_splits '3581912312', ['358', '19', '123', '12'] # Nylandia
         
     | 
| 
       291 
     | 
    
         
            -
                  it_splits '3585012312', ['358', '50', '123', '12'] # Mobile
         
     | 
| 
       292 
     | 
    
         
            -
                  it_splits '35860012345',  ['358', '6001', '23', '45']      # Service
         
     | 
| 
       293 
     | 
    
         
            -
                end
         
     | 
| 
       294 
     | 
    
         
            -
                describe 'France' do
         
     | 
| 
       295 
     | 
    
         
            -
                  it_splits '33112345678', ['33', '1', '12','34','56','78'] # Paris
         
     | 
| 
       296 
     | 
    
         
            -
                  it_splits '33812345678', ['33', '8', '12','34','56','78'] # Service number
         
     | 
| 
       297 
     | 
    
         
            -
                end
         
     | 
| 
       298 
     | 
    
         
            -
                describe 'Georgia' do
         
     | 
| 
       299 
     | 
    
         
            -
                  it_splits '99522012345', %w(995 220 123 45)
         
     | 
| 
       300 
     | 
    
         
            -
                  it_splits '995321234567', %w(995 32 123 4567)
         
     | 
| 
       301 
     | 
    
         
            -
                  it_splits '995342123456', %w(995 342 123 456)
         
     | 
| 
       302 
     | 
    
         
            -
                  it_splits '995596123456', %w(995 596 123 456)
         
     | 
| 
       303 
     | 
    
         
            -
                end
         
     | 
| 
       304 
     | 
    
         
            -
                describe 'Germany' do
         
     | 
| 
       305 
     | 
    
         
            -
                  it_splits '493038625454',    ['49', '30', '386', '25454']   # Berlin
         
     | 
| 
       306 
     | 
    
         
            -
                  it_splits '4932221764542',   ['49', '32', '221', '764542']  # Non-Geographical
         
     | 
| 
       307 
     | 
    
         
            -
                  it_splits '4922137683323',   ['49', '221', '376', '83323']  # Cologne
         
     | 
| 
       308 
     | 
    
         
            -
                  it_splits '497614767676',    ['49', '761', '476', '7676']   # Freiburg im Breisgau
         
     | 
| 
       309 
     | 
    
         
            -
                  it_splits '4921535100',      ['49', '2153', '510', '0']     # Nettetal-Lobberich
         
     | 
| 
       310 
     | 
    
         
            -
                  it_splits '493434144602',    ['49', '34341', '446', '02']   # Geithain
         
     | 
| 
       311 
     | 
    
         
            -
             
     | 
| 
       312 
     | 
    
         
            -
                  it_splits '491805878323',    ['49', '180', '587', '8323']   # Service number
         
     | 
| 
       313 
     | 
    
         
            -
                  it_splits '491815878323',    ['49', '181', '587', '8323']   # Service number
         
     | 
| 
       314 
     | 
    
         
            -
                  it_splits '498001234567',    ['49', '800', '123', '4567']   # Service number
         
     | 
| 
       315 
     | 
    
         
            -
                  it_splits '49800222340010',  ['49', '800', '222', '340010'] # Service number
         
     | 
| 
       316 
     | 
    
         
            -
             
     | 
| 
       317 
     | 
    
         
            -
                  it_splits '4915111231234',   ['49', '151', '1123', '1234']  # Mobile number
         
     | 
| 
       318 
     | 
    
         
            -
                  it_splits '4915771231234',   ['49', '1577', '123', '1234']  # Mobile number
         
     | 
| 
       319 
     | 
    
         
            -
                  it_splits '491601234567',    ['49', '160', '1234', '567']   # Mobile number
         
     | 
| 
       320 
     | 
    
         
            -
                  it_splits '4916312345678',   ['49', '163', '1234', '5678']  # Mobile number
         
     | 
| 
       321 
     | 
    
         
            -
                  it_splits '4915211231234',   ['49', '1521', '123', '1234']  # Mobile number
         
     | 
| 
       322 
     | 
    
         
            -
                end
         
     | 
| 
       323 
     | 
    
         
            -
                describe 'Ghana' do
         
     | 
| 
       324 
     | 
    
         
            -
                  it_splits '233302123456', ['233', '30', '212', '3456'] # Mobile Vodafone, Accra
         
     | 
| 
       325 
     | 
    
         
            -
                end
         
     | 
| 
       326 
     | 
    
         
            -
                describe 'Gibraltar' do
         
     | 
| 
       327 
     | 
    
         
            -
                  it_splits '35020012345', ['350', '200', '12345'] # Fixed
         
     | 
| 
       328 
     | 
    
         
            -
                  it_splits '35021112345', ['350', '211', '12345'] # Fixed
         
     | 
| 
       329 
     | 
    
         
            -
                  it_splits '35022212345', ['350', '222', '12345'] # Fixed
         
     | 
| 
       330 
     | 
    
         
            -
                  it_splits '35054123456', ['350', '54', '123456'] # Mobile
         
     | 
| 
       331 
     | 
    
         
            -
                  it_splits '35056123456', ['350', '56', '123456'] # Mobile
         
     | 
| 
       332 
     | 
    
         
            -
                  it_splits '35057123456', ['350', '57', '123456'] # Mobile
         
     | 
| 
       333 
     | 
    
         
            -
                  it_splits '35058123456', ['350', '58', '123456'] # Mobile
         
     | 
| 
       334 
     | 
    
         
            -
                  it_splits '35060123456', ['350', '60', '123456'] # Mobile
         
     | 
| 
       335 
     | 
    
         
            -
                  it_splits '3508012', ['350', '8012', '' ] # Freephone
         
     | 
| 
       336 
     | 
    
         
            -
                end
         
     | 
| 
       337 
     | 
    
         
            -
                describe 'Greece' do
         
     | 
| 
       338 
     | 
    
         
            -
                  it_splits '302142345678', %w(30 21 4234 5678)
         
     | 
| 
       339 
     | 
    
         
            -
                  it_splits '302442345678', %w(30 24 4234 5678)
         
     | 
| 
       340 
     | 
    
         
            -
                  it_splits '305034571234', %w(30 50 3457 1234)
         
     | 
| 
       341 
     | 
    
         
            -
                  it_splits '306901234567', %w(30 690 123 4567)
         
     | 
| 
       342 
     | 
    
         
            -
                  it_splits '307001234567', %w(30 70 0123 4567)
         
     | 
| 
       343 
     | 
    
         
            -
                  it_splits '308001001234', %w(30 800 100 1234)
         
     | 
| 
       344 
     | 
    
         
            -
                  it_splits '308011001234', %w(30 801 100 1234)
         
     | 
| 
       345 
     | 
    
         
            -
                  it_splits '308071001234', %w(30 807 100 1234)
         
     | 
| 
       346 
     | 
    
         
            -
                  it_splits '308961001234', %w(30 896 100 1234)
         
     | 
| 
       347 
     | 
    
         
            -
                  it_splits '309011234565', %w(30 901 123 4565)
         
     | 
| 
       348 
     | 
    
         
            -
                  it_splits '309091234565', %w(30 909 123 4565)
         
     | 
| 
       349 
     | 
    
         
            -
                end
         
     | 
| 
       350 
     | 
    
         
            -
             
     | 
| 
       351 
     | 
    
         
            -
                describe 'Haiti' do
         
     | 
| 
       352 
     | 
    
         
            -
                  it_splits '50922121234', ['509', '22', '12', '1234']
         
     | 
| 
       353 
     | 
    
         
            -
                end
         
     | 
| 
       354 
     | 
    
         
            -
             
     | 
| 
       355 
     | 
    
         
            -
                describe 'Hong Kong' do
         
     | 
| 
       356 
     | 
    
         
            -
                  it_splits '85212341234', ['852', false, '1234', '1234']    #Other Numbers
         
     | 
| 
       357 
     | 
    
         
            -
                  it_splits '852800121234', ['852', '800', '12', '1234']     #Toll Free
         
     | 
| 
       358 
     | 
    
         
            -
                end
         
     | 
| 
       359 
     | 
    
         
            -
             
     | 
| 
       360 
     | 
    
         
            -
                describe 'Hungary' do
         
     | 
| 
       361 
     | 
    
         
            -
                  it_splits'3612345678', ['36', '1', '234', '5678']
         
     | 
| 
       362 
     | 
    
         
            -
                  it_splits'3622123456', ['36', '22', '123', '456']
         
     | 
| 
       363 
     | 
    
         
            -
                end
         
     | 
| 
       364 
     | 
    
         
            -
                describe 'Iceland' do
         
     | 
| 
       365 
     | 
    
         
            -
                  it_splits '354112',     ['354', false, '112']         # Emergency TODO
         
     | 
| 
       366 
     | 
    
         
            -
                  it_splits '3544211234', ['354', false, '421', '1234'] # Keflavík
         
     | 
| 
       367 
     | 
    
         
            -
                  it_splits '3544621234', ['354', false, '462', '1234'] # Akureyri
         
     | 
| 
       368 
     | 
    
         
            -
                  it_splits '3545511234', ['354', false, '551', '1234'] # Reykjavík
         
     | 
| 
       369 
     | 
    
         
            -
                end
         
     | 
| 
       370 
     | 
    
         
            -
                describe 'Indonesia' do
         
     | 
| 
       371 
     | 
    
         
            -
                  it_splits '6242323032', ["62", "4", "2323", "032"]
         
     | 
| 
       372 
     | 
    
         
            -
                  it_splits '6285220119289', ['62', '852', '2011', '9289']
         
     | 
| 
       373 
     | 
    
         
            -
                  it_splits '62217815263', %w(62 21 781 5263)
         
     | 
| 
       374 
     | 
    
         
            -
                  it_splits '6213123', %w(62 13 123)
         
     | 
| 
       375 
     | 
    
         
            -
                  it_splits '6213123456', %w(62 13 123 456)
         
     | 
| 
       376 
     | 
    
         
            -
                  it_splits '6217412', %w(62 174 12)
         
     | 
| 
       377 
     | 
    
         
            -
                  it_splits '6217412345', %w(62 174 12 345)
         
     | 
| 
       378 
     | 
    
         
            -
                  it_splits '6217712', %w(62 177 12)
         
     | 
| 
       379 
     | 
    
         
            -
                  it_splits '6217712123456', %w(62 177 1212 3456)
         
     | 
| 
       380 
     | 
    
         
            -
                  it_splits '62178123', %w(62 178 123)
         
     | 
| 
       381 
     | 
    
         
            -
                  it_splits '6217812345', %w(62 178 123 45)
         
     | 
| 
       382 
     | 
    
         
            -
                  it_splits '622112345', %w(62 21 123 45)
         
     | 
| 
       383 
     | 
    
         
            -
                  it_splits '622112345567', %w(62 21 1234 5567)
         
     | 
| 
       384 
     | 
    
         
            -
                  it_splits '622212345', %w(62 22 123 45)
         
     | 
| 
       385 
     | 
    
         
            -
                  it_splits '62221234567', %w(62 22 123 4567)
         
     | 
| 
       386 
     | 
    
         
            -
                  it_splits '622200000000', %w(62 22 0000 0000)
         
     | 
| 
       387 
     | 
    
         
            -
                  it_splits '6222000000000', %w(62 22 000 000 000)
         
     | 
| 
       388 
     | 
    
         
            -
                  it_splits '624311234', %w(62 4 311 234)
         
     | 
| 
       389 
     | 
    
         
            -
                  it_splits '62431123456', %w(62 4 3112 3456)
         
     | 
| 
       390 
     | 
    
         
            -
                  it_splits '6262212345', %w(62 6 221 2345)
         
     | 
| 
       391 
     | 
    
         
            -
                  it_splits '62622123456', %w(62 6 2212 3456)
         
     | 
| 
       392 
     | 
    
         
            -
                  it_splits '6270123456', %w(62 70 123 456)
         
     | 
| 
       393 
     | 
    
         
            -
                  it_splits '6271123456', %w(62 71 123 456)
         
     | 
| 
       394 
     | 
    
         
            -
                  it_splits '62711234567', %w(62 71 123 4567)
         
     | 
| 
       395 
     | 
    
         
            -
                  it_splits '62810123456', %w(62 810 123 456)
         
     | 
| 
       396 
     | 
    
         
            -
                  it_splits '6281012345678', %w(62 810 1234 5678)
         
     | 
| 
       397 
     | 
    
         
            -
                  it_splits '628151234567', %w(62 815 123 4567)
         
     | 
| 
       398 
     | 
    
         
            -
                  it_splits '62820123456', %w(62 820 123 456)
         
     | 
| 
       399 
     | 
    
         
            -
                  it_splits '628231234567', %w(62 823 123 4567)
         
     | 
| 
       400 
     | 
    
         
            -
                  it_splits '6282312345678', %w(62 823 1234 5678)
         
     | 
| 
       401 
     | 
    
         
            -
                  it_splits '6287012345', %w(62 870 123 45)
         
     | 
| 
       402 
     | 
    
         
            -
                  it_splits '62877123456', %w(62 877 123 456)
         
     | 
| 
       403 
     | 
    
         
            -
                  it_splits '62881123456', %w(62 881 123 456)
         
     | 
| 
       404 
     | 
    
         
            -
                  it_splits '6288112345656', %w(62 881 1234 5656)
         
     | 
| 
       405 
     | 
    
         
            -
                  it_splits '62881123456567', %w(62 881 1234 56567)
         
     | 
| 
       406 
     | 
    
         
            -
                  it_splits '628990344805', %w(62 899 034 4805)
         
     | 
| 
       407 
     | 
    
         
            -
                  it_splits '6291234567', %w(62 9 1234 567)
         
     | 
| 
       408 
     | 
    
         
            -
                  it_splits '629123456789', %w(62 9 123 456 789)
         
     | 
| 
       409 
     | 
    
         
            -
                end
         
     | 
| 
       410 
     | 
    
         
            -
             
     | 
| 
       411 
     | 
    
         
            -
                describe 'India' do
         
     | 
| 
       412 
     | 
    
         
            -
                  it_splits '919911182111', ['91', '99', '111', '82', '111'] # mobile
         
     | 
| 
       413 
     | 
    
         
            -
                  it_splits '912212345678', ['91', '22', '123', '45', '678'] # New Delhi
         
     | 
| 
       414 
     | 
    
         
            -
                  it_splits '911411234567', ['91', '141', '123', '45', '67'] # Jaipur
         
     | 
| 
       415 
     | 
    
         
            -
                  it_splits '913525123456', ['91', '3525', '123', '456']     # DALKHOLA
         
     | 
| 
       416 
     | 
    
         
            -
                  it_splits '914433993939', ['91', '44', '339', '93', '939'] #
         
     | 
| 
       417 
     | 
    
         
            -
                end
         
     | 
| 
       418 
     | 
    
         
            -
             
     | 
| 
       419 
     | 
    
         
            -
                describe 'Iran' do
         
     | 
| 
       420 
     | 
    
         
            -
                  it_splits '982112341234', ['98', '21', '1234', '1234'] # Teheran
         
     | 
| 
       421 
     | 
    
         
            -
                  it_splits '989191231234', ['98', '919', '123', '1234'] # Example Cell Phone
         
     | 
| 
       422 
     | 
    
         
            -
                end
         
     | 
| 
       423 
     | 
    
         
            -
             
     | 
| 
       424 
     | 
    
         
            -
                describe 'Ireland' do
         
     | 
| 
       425 
     | 
    
         
            -
                  it_splits '35311234567',  ['353', '1', '123', '4567']  # Dublin, 7 digit subscriber #
         
     | 
| 
       426 
     | 
    
         
            -
                  it_splits '353539233333', ['353', '53', '923', '3333'] # Wexford, 7 digit subscriber
         
     | 
| 
       427 
     | 
    
         
            -
                  it_splits '3532212345',   ['353', '22', '12345']       # Mallow, 5 digit subscriber #
         
     | 
| 
       428 
     | 
    
         
            -
                  it_splits '353441234567', ['353', '44', '123', '4567'] # Mullingar, Castlepollard, Tyrellspass 7 digit subscriber #
         
     | 
| 
       429 
     | 
    
         
            -
                  it_splits '35345123456',  ['353', '45', '123456']      # Naas, 6 digit subscriber #
         
     | 
| 
       430 
     | 
    
         
            -
                  it_splits '353801234567', ['353', '80', '123', '4567'] # Mobile
         
     | 
| 
       431 
     | 
    
         
            -
                  it_splits '353761234567', ['353', '76', '123', '4567'] # VoIP
         
     | 
| 
       432 
     | 
    
         
            -
                  it_splits '353800123456', ['353', '800', '123456']     # Freefone
         
     | 
| 
       433 
     | 
    
         
            -
                  it_splits '353000123456', ['353', '000', '123456']     # Default fixed 3 split for unrecognized
         
     | 
| 
       434 
     | 
    
         
            -
                end
         
     | 
| 
       435 
     | 
    
         
            -
             
     | 
| 
       436 
     | 
    
         
            -
                describe 'Israel (972)' do
         
     | 
| 
       437 
     | 
    
         
            -
                  it_splits '972100',       ['972', '1', '00']                  # Police
         
     | 
| 
       438 
     | 
    
         
            -
                  it_splits '97221231234',  ['972', '2', '123', '1234']         # Jerusalem Area
         
     | 
| 
       439 
     | 
    
         
            -
                  it_splits '97282411234',  ['972', '8', '241', '1234']         # Gaza Strip (Palestine)
         
     | 
| 
       440 
     | 
    
         
            -
                  it_splits '97291231234',  ['972', '9', '123', '1234']         # Sharon Area
         
     | 
| 
       441 
     | 
    
         
            -
                  it_splits '972501231234', ['972', '50', '123', '1234']        # Mobile (Pelephone)
         
     | 
| 
       442 
     | 
    
         
            -
                  it_splits '972591231234', ['972', '59', '123', '1234']        # Mobile Jawwal (Palestine)
         
     | 
| 
       443 
     | 
    
         
            -
                  it_splits '972771231234', ['972', '77', '123', '1234']        # Cable Phone Services
         
     | 
| 
       444 
     | 
    
         
            -
                  it_splits '9721700123123', ['972', '1', '700', '123', '123']  # Cable Phone Services
         
     | 
| 
       445 
     | 
    
         
            -
                  it_splits '972511234567', ['972', '51', '123', '4567']        # Mobile (We4G)
         
     | 
| 
       446 
     | 
    
         
            -
                  it_splits '972791111111', ['972', '79', '111', '1111']        # Landline (Hallo, Cellact, Telzar)
         
     | 
| 
       447 
     | 
    
         
            -
                end
         
     | 
| 
       448 
     | 
    
         
            -
                describe 'Israel (970)' do
         
     | 
| 
       449 
     | 
    
         
            -
                  it_splits '97021231234',  ['970', '2', '123', '1234']  # Jerusalem Area
         
     | 
| 
       450 
     | 
    
         
            -
                  it_splits '97082411234',  ['970', '8', '241', '1234']  # Gaza Strip (Palestine)
         
     | 
| 
       451 
     | 
    
         
            -
                  it_splits '97091231234',  ['970', '9', '123', '1234']  # Sharon Area
         
     | 
| 
       452 
     | 
    
         
            -
                  it_splits '970501231234', ['970', '50', '123', '1234']  # Mobile (Pelephone)
         
     | 
| 
       453 
     | 
    
         
            -
                  it_splits '970591231234', ['970', '59', '123', '1234']  # Mobile Jawwal (Palestine)
         
     | 
| 
       454 
     | 
    
         
            -
                  it_splits '970771231234', ['970', '77', '123', '1234']  # Cable Phone Services
         
     | 
| 
       455 
     | 
    
         
            -
                  it_splits '9701700123123', ['970', '1', '700', '123', '123']  # Cable Phone Services
         
     | 
| 
       456 
     | 
    
         
            -
                end
         
     | 
| 
       457 
     | 
    
         
            -
                describe 'Italy' do
         
     | 
| 
       458 
     | 
    
         
            -
                  it_splits '39348695281',  ['39', '348', '695', '281']        # Mobile (6-digit subscriber no. - rare, but still used)
         
     | 
| 
       459 
     | 
    
         
            -
                  it_splits '393486952812', ['39', '348', '695', '2812']       # Mobile (7-digit subscriber no. - common)
         
     | 
| 
       460 
     | 
    
         
            -
                  it_splits '3934869528123',['39', '348', '695', '2812', '3']  # Mobile (8-digit subscriber no - new)
         
     | 
| 
       461 
     | 
    
         
            -
                  it_splits '393357210488', ['39', '335', '721', '0488'] # Mobile
         
     | 
| 
       462 
     | 
    
         
            -
                  it_splits '393248644272', ['39', '324', '864', '4272'] # Mobile
         
     | 
| 
       463 
     | 
    
         
            -
                  it_splits '390612341',    ['39', '06', '12341']        # Roma 5 digit
         
     | 
| 
       464 
     | 
    
         
            -
                  it_splits '3906123412',   ['39', '06', '1234', '12']   # Roma 6 digit
         
     | 
| 
       465 
     | 
    
         
            -
                  it_splits '39061234123',  ['39', '06', '1234', '123']  # Roma 7 digit
         
     | 
| 
       466 
     | 
    
         
            -
                  it_splits '390612341234', ['39', '06', '1234', '1234'] # Roma 8 digit
         
     | 
| 
       467 
     | 
    
         
            -
                  it_splits '3902888388',   ['39', '02', '8883', '88'] # Milano 6 digit
         
     | 
| 
       468 
     | 
    
         
            -
                  it_splits '39028883888',  ['39', '02', '8883', '888'] # Milano 7 digit
         
     | 
| 
       469 
     | 
    
         
            -
                  it_splits '390288838883', ['39', '02', '8883', '8883'] # Milano 8 digit
         
     | 
| 
       470 
     | 
    
         
            -
                  it_splits '390141595661', ['39', '0141', '595', '661'] # Asti
         
     | 
| 
       471 
     | 
    
         
            -
                  it_splits '3903123391',   ['39', '031', '23391']   # Como
         
     | 
| 
       472 
     | 
    
         
            -
                  it_splits '390909709511', ['39', '090', '9709511'] # Barcellona
         
     | 
| 
       473 
     | 
    
         
            -
                  it_splits '390471811353', ['39', '0471', '811', '353'] # Bolzano
         
     | 
| 
       474 
     | 
    
         
            -
                  it_splits '3905745730', ['39', '0574', '5730'] # Prato
         
     | 
| 
       475 
     | 
    
         
            -
                end
         
     | 
| 
       476 
     | 
    
         
            -
                describe 'Japan' do
         
     | 
| 
       477 
     | 
    
         
            -
                  it_splits '81312345678', %w(81 3 1234 5678) # Tokyo
         
     | 
| 
       478 
     | 
    
         
            -
                  it_splits '81612345678', %w(81 6 1234 5678) # Osaka
         
     | 
| 
       479 
     | 
    
         
            -
                  it_splits '818001001234', %w(81 800 100 1234) # Freephone
         
     | 
| 
       480 
     | 
    
         
            -
                  it_splits '81120123456', %w(81 120 123 456) # Freephone
         
     | 
| 
       481 
     | 
    
         
            -
                  it_splits '81111234567', %w(81 11 123 4567)
         
     | 
| 
       482 
     | 
    
         
            -
                  it_splits '81123123456', %w(81 123 12 3456)
         
     | 
| 
       483 
     | 
    
         
            -
                  it_splits '81126712345', %w(81 1267 1 2345)
         
     | 
| 
       484 
     | 
    
         
            -
                  it_splits '812012345678', %w(81 20 1234 5678) # Pager(Calling Party Pay)
         
     | 
| 
       485 
     | 
    
         
            -
                  it_splits '815012345678', %w(81 50 1234 5678) # IP Telephone
         
     | 
| 
       486 
     | 
    
         
            -
                  it_splits '816012345678', %w(81 60 1234 5678) # UPT
         
     | 
| 
       487 
     | 
    
         
            -
                  it_splits '817012345678', %w(81 70 1234 5678) # PHS
         
     | 
| 
       488 
     | 
    
         
            -
                  it_splits '818012345678', %w(81 80 1234 5678) # Cellular
         
     | 
| 
       489 
     | 
    
         
            -
                  it_splits '819012345678', %w(81 90 1234 5678) # Cellular
         
     | 
| 
       490 
     | 
    
         
            -
                  it_splits '810570123456', %w(81 570 123 456)  # Navi-dial
         
     | 
| 
       491 
     | 
    
         
            -
                  it_splits '810180123456', %w(81 180 123 456)  # Tele-gong/Tele-dome
         
     | 
| 
       492 
     | 
    
         
            -
                end
         
     | 
| 
       493 
     | 
    
         
            -
                describe 'Kenya' do
         
     | 
| 
       494 
     | 
    
         
            -
                  it_splits '254201234567', ['254', '20', '1234567'] # Nairobi
         
     | 
| 
       495 
     | 
    
         
            -
                  it_splits '254111234567', ['254', '11', '1234567'] # Mombasa
         
     | 
| 
       496 
     | 
    
         
            -
                  it_splits '254723100220', ['254', '723', '100220'] # Mombasa
         
     | 
| 
       497 
     | 
    
         
            -
                end
         
     | 
| 
       498 
     | 
    
         
            -
                describe 'Kosovo' do
         
     | 
| 
       499 
     | 
    
         
            -
                  it_splits '38329000000', ['383', '29', '000', '000'] # Landline
         
     | 
| 
       500 
     | 
    
         
            -
                  it_splits '38344000000', ['383', '44', '000', '000'] # Mobile
         
     | 
| 
       501 
     | 
    
         
            -
                end
         
     | 
| 
       502 
     | 
    
         
            -
                describe 'Kyrgyzstan' do
         
     | 
| 
       503 
     | 
    
         
            -
                  it_splits '996312212345', %w(996 312 212 345)
         
     | 
| 
       504 
     | 
    
         
            -
                  it_splits '996315212345', %w(996 315 212 345)
         
     | 
| 
       505 
     | 
    
         
            -
                  it_splits '996313121234', %w(996 3131 212 34)
         
     | 
| 
       506 
     | 
    
         
            -
                  it_splits '996394621234', %w(996 3946 212 34)
         
     | 
| 
       507 
     | 
    
         
            -
                  it_splits '996501234567', %w(996 50 123 4567)
         
     | 
| 
       508 
     | 
    
         
            -
                  it_splits '996521234567', %w(996 52 123 4567)
         
     | 
| 
       509 
     | 
    
         
            -
                  it_splits '996581234567', %w(996 58 123 4567)
         
     | 
| 
       510 
     | 
    
         
            -
                  it_splits '996800123456', %w(996 800 123 456)
         
     | 
| 
       511 
     | 
    
         
            -
                end
         
     | 
| 
       512 
     | 
    
         
            -
                describe 'Lithuania' do
         
     | 
| 
       513 
     | 
    
         
            -
                  it_splits '37070012123', ['370', '700', '12', '123']     # Service
         
     | 
| 
       514 
     | 
    
         
            -
                  it_splits '37061212123', ['370', '612', '12', '123']     # Mobile
         
     | 
| 
       515 
     | 
    
         
            -
                  it_splits '37051231212', ['370', '5', '123', '12', '12'] # Vilnius
         
     | 
| 
       516 
     | 
    
         
            -
                  it_splits '37037121212', ['370', '37', '12', '12', '12'] # Kaunas
         
     | 
| 
       517 
     | 
    
         
            -
                  it_splits '37044011212', ['370', '440', '1', '12', '12'] # Skuodas
         
     | 
| 
       518 
     | 
    
         
            -
                end
         
     | 
| 
       519 
     | 
    
         
            -
                describe 'Luxembourg' do
         
     | 
| 
       520 
     | 
    
         
            -
                  it_splits '352222809',       ['352', '22', '28', '09']
         
     | 
| 
       521 
     | 
    
         
            -
                  it_splits '35226222809',     ['352', '2622', '28', '09']
         
     | 
| 
       522 
     | 
    
         
            -
                  it_splits '352621123456',    ['352', '621', '123', '456']
         
     | 
| 
       523 
     | 
    
         
            -
                  it_splits '3524123456',      ['352', '41', '23', '45', '6']
         
     | 
| 
       524 
     | 
    
         
            -
                  it_splits '352602112345678', ['352', '6021', '12', '34', '56', '78']
         
     | 
| 
       525 
     | 
    
         
            -
                  it_splits '352370431',       ['352', '37', '04', '31']
         
     | 
| 
       526 
     | 
    
         
            -
                  it_splits '35227855',        ['352', '27', '85', '5']
         
     | 
| 
       527 
     | 
    
         
            -
                  it_splits '352445566',       ['352', '44', '55', '66']
         
     | 
| 
       528 
     | 
    
         
            -
                  it_splits '352545258',       ['352', '54', '52', '58']
         
     | 
| 
       529 
     | 
    
         
            -
                  it_splits '352818181',       ['352', '81', '81', '81']
         
     | 
| 
       530 
     | 
    
         
            -
                  it_splits '3523572141',      ['352', '35', '72', '14', '1']
         
     | 
| 
       531 
     | 
    
         
            -
                  it_splits '3522634731',      ['352', '26', '34', '73', '1']
         
     | 
| 
       532 
     | 
    
         
            -
                  it_splits '352264412701',    ['352', '26', '44', '12', '701']
         
     | 
| 
       533 
     | 
    
         
            -
                end
         
     | 
| 
       534 
     | 
    
         
            -
                describe 'Macedonia' do
         
     | 
| 
       535 
     | 
    
         
            -
                  it_splits '38921234567', ['389', '2', '123', '4567'] # Skopje
         
     | 
| 
       536 
     | 
    
         
            -
                  it_splits '38931234567', ['389', '3', '123', '4567'] # Eastern Macedonia
         
     | 
| 
       537 
     | 
    
         
            -
                  it_splits '38941234567', ['389', '4', '123', '4567'] # Western Macedonia
         
     | 
| 
       538 
     | 
    
         
            -
                  it_splits '38951234567', ['389', '5', '123', '4567'] # Premium
         
     | 
| 
       539 
     | 
    
         
            -
                  it_splits '38971234567', ['389', '7', '123', '4567'] # Mobile
         
     | 
| 
       540 
     | 
    
         
            -
                end
         
     | 
| 
       541 
     | 
    
         
            -
                describe 'Macao' do
         
     | 
| 
       542 
     | 
    
         
            -
                  it_splits '85328123456', ["853", "28", "12", "3456"] # Landline
         
     | 
| 
       543 
     | 
    
         
            -
                  it_splits '85381234567', ["853", "8", "123", "4567"] # Landline
         
     | 
| 
       544 
     | 
    
         
            -
                  it_splits '85361234567', ["853", "6", "123", "4567"] # Mobile
         
     | 
| 
       545 
     | 
    
         
            -
                end
         
     | 
| 
       546 
     | 
    
         
            -
                describe 'Malaysia' do
         
     | 
| 
       547 
     | 
    
         
            -
                  it_splits '6082123456',   ['60', '82', '123456']   # Kuching
         
     | 
| 
       548 
     | 
    
         
            -
                  it_splits '60312345678',  ['60', '3', '12345678'] # Kuala Lumpur
         
     | 
| 
       549 
     | 
    
         
            -
                  it_splits '60212345678',  ['60', '2', '12345678'] # Singapore
         
     | 
| 
       550 
     | 
    
         
            -
                  it_splits '60111231234', ['60', '11', '123', '1234'] # Mobile
         
     | 
| 
       551 
     | 
    
         
            -
                  it_splits '601112312345', ['60', '11', '123', '12345'] # Mobile
         
     | 
| 
       552 
     | 
    
         
            -
                  it_splits '60800121234',  ['60', '800', '12', '1234'] # Freephone
         
     | 
| 
       553 
     | 
    
         
            -
                  # it_splits '60112',       ['60', '112'] # Service
         
     | 
| 
       554 
     | 
    
         
            -
                 end
         
     | 
| 
       555 
     | 
    
         
            -
                describe 'Malta' do
         
     | 
| 
       556 
     | 
    
         
            -
                  it_splits '35621231234', ['356', '2123', '1234'] # Fixed
         
     | 
| 
       557 
     | 
    
         
            -
                  it_splits '35677123456', ['356', '77', '123456'] # Mobile
         
     | 
| 
       558 
     | 
    
         
            -
                  it_splits '35698123456', ['356', '98', '123456'] # Mobile
         
     | 
| 
       559 
     | 
    
         
            -
                  it_splits '35651231234', ['356', '5123', '1234'] # Voice Mail
         
     | 
| 
       560 
     | 
    
         
            -
                end
         
     | 
| 
       561 
     | 
    
         
            -
                describe 'Mexico' do
         
     | 
| 
       562 
     | 
    
         
            -
                  it_splits '525512121212',  ['52', '55', '1212', '1212']         # Mexico City
         
     | 
| 
       563 
     | 
    
         
            -
                  it_splits '5215512121212', ['52', '1', '55', '1212', '1212']    # Mexico City cell phone from abroad
         
     | 
| 
       564 
     | 
    
         
            -
                  it_splits '526641231212',  ['52', '664', '123', '1212']         # Tijuana
         
     | 
| 
       565 
     | 
    
         
            -
                  it_splits '5216641231212', ['52', '1', '664', '123', '1212']    # Tijuana cell phone from abroad
         
     | 
| 
       566 
     | 
    
         
            -
                  it_splits '520446641231212', ['52', '044', '664', '123', '1212']   # Tijuana cell phone local from landline
         
     | 
| 
       567 
     | 
    
         
            -
                end
         
     | 
| 
       568 
     | 
    
         
            -
                describe 'Monaco' do
         
     | 
| 
       569 
     | 
    
         
            -
                  it_splits '37741123456', ['377', '41', '12', '34', '56'] # Mobile
         
     | 
| 
       570 
     | 
    
         
            -
                  it_splits '377612345678', ['377', '6', '12', '34', '56', '78'] # Mobile
         
     | 
| 
       571 
     | 
    
         
            -
                end
         
     | 
| 
       572 
     | 
    
         
            -
                describe 'Montenegro' do
         
     | 
| 
       573 
     | 
    
         
            -
                  it_splits '38280123456', %w(382 80 123 456)
         
     | 
| 
       574 
     | 
    
         
            -
                  it_splits '3822012345', %w(382 20 123 45)
         
     | 
| 
       575 
     | 
    
         
            -
                  it_splits '38220123456', %w(382 20 123 456)
         
     | 
| 
       576 
     | 
    
         
            -
                  it_splits '38232123456', %w(382 32 123 456)
         
     | 
| 
       577 
     | 
    
         
            -
                  it_splits '38278103456', %w(382 78 103 456)
         
     | 
| 
       578 
     | 
    
         
            -
                  it_splits '38263123', %w(382 63 123)
         
     | 
| 
       579 
     | 
    
         
            -
                  it_splits '382631234567890', %w(382 63 123 456 7890)
         
     | 
| 
       580 
     | 
    
         
            -
                  it_splits '38277103456', %w(382 77 103 456)
         
     | 
| 
       581 
     | 
    
         
            -
                  it_splits '38294103456', %w(382 94 103 456)
         
     | 
| 
       582 
     | 
    
         
            -
                  it_splits '38288103456', %w(382 88 103 456)
         
     | 
| 
       583 
     | 
    
         
            -
                  it_splits '3826812', %w(382 68 12)
         
     | 
| 
       584 
     | 
    
         
            -
                  it_splits '382681212345678', %w(382 68 12 1234 5678)
         
     | 
| 
       585 
     | 
    
         
            -
                  it_splits '38270123', %w(382 70 123)
         
     | 
| 
       586 
     | 
    
         
            -
                  it_splits '382701234567890', %w(382 70 123 456 7890)
         
     | 
| 
       587 
     | 
    
         
            -
                end
         
     | 
| 
       588 
     | 
    
         
            -
                describe 'Morocco' do
         
     | 
| 
       589 
     | 
    
         
            -
                  it_splits '212537718685', ['212', '53', '7718', '685']
         
     | 
| 
       590 
     | 
    
         
            -
                  it_splits '212612345678', ['212', '6', '12', '34', '56', '78']
         
     | 
| 
       591 
     | 
    
         
            -
                end
         
     | 
| 
       592 
     | 
    
         
            -
                describe 'The Netherlands' do
         
     | 
| 
       593 
     | 
    
         
            -
                  it_splits '31612345678', ['31', '6', '12', '34', '56', '78'] # mobile
         
     | 
| 
       594 
     | 
    
         
            -
                  it_splits '31201234567', ['31', '20', '123', '4567']
         
     | 
| 
       595 
     | 
    
         
            -
                  it_splits '31222123456', ['31', '222', '123', '456']
         
     | 
| 
       596 
     | 
    
         
            -
                  it_splits '3197012345678', ['31', '970', '1234', '5678'] # machine-to-machine
         
     | 
| 
       597 
     | 
    
         
            -
                end
         
     | 
| 
       598 
     | 
    
         
            -
                describe 'Norfolk Island' do
         
     | 
| 
       599 
     | 
    
         
            -
                  it_splits '672321234', ['672', '3', '21', '234'] # fixed
         
     | 
| 
       600 
     | 
    
         
            -
                  it_splits '672351234', ['672', '3', '51', '234'] # mobile
         
     | 
| 
       601 
     | 
    
         
            -
                end
         
     | 
| 
       602 
     | 
    
         
            -
                describe 'Norway' do
         
     | 
| 
       603 
     | 
    
         
            -
                  it_splits '4721234567', ['47',false,'21','23','45','67']
         
     | 
| 
       604 
     | 
    
         
            -
                  it_splits '4731234567', ['47',false,'31','23','45','67']
         
     | 
| 
       605 
     | 
    
         
            -
                  it_splits '4741234567', ['47',false,'412','34','567']
         
     | 
| 
       606 
     | 
    
         
            -
                  it_splits '4751234567', ['47',false,'51','23','45','67']
         
     | 
| 
       607 
     | 
    
         
            -
                  it_splits '4761234567', ['47',false,'61','23','45','67']
         
     | 
| 
       608 
     | 
    
         
            -
                  it_splits '4771234567', ['47',false,'71','23','45','67']
         
     | 
| 
       609 
     | 
    
         
            -
                  it_splits '4781234567', ['47',false,'812','34','567']
         
     | 
| 
       610 
     | 
    
         
            -
                  it_splits '4791234567', ['47',false,'912','34','567']
         
     | 
| 
       611 
     | 
    
         
            -
                end
         
     | 
| 
       612 
     | 
    
         
            -
                describe 'Oman' do
         
     | 
| 
       613 
     | 
    
         
            -
                  it_splits '96824423123', %w(968 24 423 123)
         
     | 
| 
       614 
     | 
    
         
            -
                  it_splits '96825423123', %w(968 25 423 123)
         
     | 
| 
       615 
     | 
    
         
            -
                end
         
     | 
| 
       616 
     | 
    
         
            -
                describe 'Pakistan' do
         
     | 
| 
       617 
     | 
    
         
            -
                  it_splits '922112345678', %w(92 21 1234 5678)
         
     | 
| 
       618 
     | 
    
         
            -
                  it_splits '92221234567', %w(92 22 1234 567)
         
     | 
| 
       619 
     | 
    
         
            -
                  it_splits '92232123456', %w(92 232 123 456)
         
     | 
| 
       620 
     | 
    
         
            -
                  it_splits '923012345678', %w(92 30 1234 5678)
         
     | 
| 
       621 
     | 
    
         
            -
                  it_splits '92111332211', %w(92 111 332 211)
         
     | 
| 
       622 
     | 
    
         
            -
                end
         
     | 
| 
       623 
     | 
    
         
            -
                describe 'Paraguay (Republic of)' do
         
     | 
| 
       624 
     | 
    
         
            -
                  it_splits '59521123456', %w(595 21 123 456)
         
     | 
| 
       625 
     | 
    
         
            -
                  it_splits '595211234567', %w(595 21 123 4567)
         
     | 
| 
       626 
     | 
    
         
            -
                  it_splits '595345123456', %w(595 345 123 456)
         
     | 
| 
       627 
     | 
    
         
            -
                  it_splits '595961611234', %w(595 96 161 1234)
         
     | 
| 
       628 
     | 
    
         
            -
                end
         
     | 
| 
       629 
     | 
    
         
            -
                describe 'Peru' do
         
     | 
| 
       630 
     | 
    
         
            -
                  it_splits '5111231234', ['51', '1', '123', '1234'] # Lima
         
     | 
| 
       631 
     | 
    
         
            -
                  it_splits '51912341234', ['51', '9', '1234', '1234'] # mobile
         
     | 
| 
       632 
     | 
    
         
            -
                  it_splits '5184123123', ['51', '84', '123', '123'] # Cuzco, best effort
         
     | 
| 
       633 
     | 
    
         
            -
                end
         
     | 
| 
       634 
     | 
    
         
            -
                describe 'Philippines' do
         
     | 
| 
       635 
     | 
    
         
            -
                  it_splits '6321234567', ['63', '2', '1234567']
         
     | 
| 
       636 
     | 
    
         
            -
                  it_splits '63289889999', ['63', '2', '89889999']
         
     | 
| 
       637 
     | 
    
         
            -
                  it_splits '6321234567890', ['63', '2', '1234567890']
         
     | 
| 
       638 
     | 
    
         
            -
                  it_splits '632123456789012', ['63', '2', '123456789012']
         
     | 
| 
       639 
     | 
    
         
            -
                  it_splits '639121234567', ['63', '912', '1234567']
         
     | 
| 
       640 
     | 
    
         
            -
                  it_splits '63881234567', ['63', '88', '1234567']
         
     | 
| 
       641 
     | 
    
         
            -
                end
         
     | 
| 
       642 
     | 
    
         
            -
                describe 'Poland' do
         
     | 
| 
       643 
     | 
    
         
            -
                  it_splits '48123456789', ['48', '12', '345', '67', '89'] # Landline
         
     | 
| 
       644 
     | 
    
         
            -
                  it_splits '48501123456', ['48', '501', '123', '456']     # Mobile
         
     | 
| 
       645 
     | 
    
         
            -
                  it_splits '48571123456', ['48', '571', '123', '456']     # Mobile
         
     | 
| 
       646 
     | 
    
         
            -
                  it_splits '48451123456', ['48', '451', '123', '456']     # Mobile
         
     | 
| 
       647 
     | 
    
         
            -
                  it_splits '48800123456', ['48', '800', '123', '456']     # Free
         
     | 
| 
       648 
     | 
    
         
            -
                  it_splits '48801123456', ['48', '801', '123', '456']     # Shared cost
         
     | 
| 
       649 
     | 
    
         
            -
                  it_splits '48701123456', ['48', '701', '123', '456']     # Premium
         
     | 
| 
       650 
     | 
    
         
            -
                end
         
     | 
| 
       651 
     | 
    
         
            -
                describe 'Portugal' do
         
     | 
| 
       652 
     | 
    
         
            -
                  it_splits '351211231234', ['351', '21', '123', '1234'] # Lisboa
         
     | 
| 
       653 
     | 
    
         
            -
                  it_splits '351241123123', ['351', '241', '123', '123'] # Abrantes
         
     | 
| 
       654 
     | 
    
         
            -
                  it_splits '351931231234', ['351', '93', '123', '1234'] # mobile
         
     | 
| 
       655 
     | 
    
         
            -
                end
         
     | 
| 
       656 
     | 
    
         
            -
                describe 'Qatar' do
         
     | 
| 
       657 
     | 
    
         
            -
                  it_splits '9741245123456', %w(974 1245 123 456)
         
     | 
| 
       658 
     | 
    
         
            -
                  it_splits '9742613456', %w(974 26 134 56)
         
     | 
| 
       659 
     | 
    
         
            -
                  it_splits '97433123456', %w(974 33 123 456)
         
     | 
| 
       660 
     | 
    
         
            -
                  it_splits '97444412456', %w(974 44 412 456)
         
     | 
| 
       661 
     | 
    
         
            -
                  it_splits '9748001234', %w(974 800 12 34)
         
     | 
| 
       662 
     | 
    
         
            -
                  it_splits '9749001234', %w(974 900 12 34)
         
     | 
| 
       663 
     | 
    
         
            -
                  it_splits '97492123', %w(974 92 123)
         
     | 
| 
       664 
     | 
    
         
            -
                  it_splits '97497123', %w(974 97 123)
         
     | 
| 
       665 
     | 
    
         
            -
                end
         
     | 
| 
       666 
     | 
    
         
            -
                describe 'Romania' do
         
     | 
| 
       667 
     | 
    
         
            -
                  it_splits '40211231234', ['40', '21', '123', '1234'] # Bucureşti
         
     | 
| 
       668 
     | 
    
         
            -
                  it_splits '40721231234', ['40', '72', '123', '1234'] # mobile
         
     | 
| 
       669 
     | 
    
         
            -
                  it_splits '40791231234', ['40', '79', '123', '1234'] # mobile
         
     | 
| 
       670 
     | 
    
         
            -
                  it_splits '40249123123', ['40', '249', '123', '123'] # Olt
         
     | 
| 
       671 
     | 
    
         
            -
                end
         
     | 
| 
       672 
     | 
    
         
            -
             
     | 
| 
       673 
     | 
    
         
            -
                describe 'Russia' do
         
     | 
| 
       674 
     | 
    
         
            -
                  it_splits '78122345678',   ['7', '812', '234', '56', '78'] # Russia 3-digit
         
     | 
| 
       675 
     | 
    
         
            -
                  it_splits '74012771077',   ['7', '4012', '77', '10', '77'] # Russia 4-digit
         
     | 
| 
       676 
     | 
    
         
            -
                  it_splits '78402411212',   ['7', '84024', '1', '12', '12'] # Russia 5-digit
         
     | 
| 
       677 
     | 
    
         
            -
                  it_splits '79296119119',   ['7', '929', '611', '91', '19'] # Russia 3-digit, Megafon Mobile
         
     | 
| 
       678 
     | 
    
         
            -
                  it_splits '79691234567',   ['7', '969', '123', '45', '67'] # Russia 3-digit, Beeline
         
     | 
| 
       679 
     | 
    
         
            -
                  it_splits '79771234567',   ['7', '977', '123', '45', '67'] # Russia 3-digit
         
     | 
| 
       680 
     | 
    
         
            -
                  it_splits '79961234567',   ['7', '996', '123', '45', '67'] # Russia 3-digit
         
     | 
| 
       681 
     | 
    
         
            -
                  it_splits '79991234567',   ['7', '999', '123', '45', '67'] # Russia 3-digit
         
     | 
| 
       682 
     | 
    
         
            -
                  it_splits '7840121212',    ['7', '840', '12', '1212']  # Abhasia
         
     | 
| 
       683 
     | 
    
         
            -
                  it_splits '7799121212',    ['7', '799', '12', '1212']  # Kazachstan
         
     | 
| 
       684 
     | 
    
         
            -
                  it_splits '7995344121212', ['7', '995', '344','12','1212']  # South Osetia
         
     | 
| 
       685 
     | 
    
         
            -
                  it_splits '7209175276',    ['7', '209', '17', '5276']  # Fantasy number
         
     | 
| 
       686 
     | 
    
         
            -
                end
         
     | 
| 
       687 
     | 
    
         
            -
             
     | 
| 
       688 
     | 
    
         
            -
                describe 'Rwanda' do
         
     | 
| 
       689 
     | 
    
         
            -
                  it_splits '250781234567', ['250', '78', '1234567'] # mobile
         
     | 
| 
       690 
     | 
    
         
            -
                  it_splits '250721234567', ['250', '72', '1234567'] # mobile
         
     | 
| 
       691 
     | 
    
         
            -
                  it_splits '250731234567', ['250', '73', '1234567'] # mobile
         
     | 
| 
       692 
     | 
    
         
            -
                  it_splits '250791234567', ['250', '79', '1234567'] # mobile
         
     | 
| 
       693 
     | 
    
         
            -
                  it_splits '250251234567', ['250', '25', '1234567'] # fixed
         
     | 
| 
       694 
     | 
    
         
            -
                  it_splits '25006123456',  ['250', '06', '123456']  # fixed
         
     | 
| 
       695 
     | 
    
         
            -
                end
         
     | 
| 
       696 
     | 
    
         
            -
                describe 'Sao Tome and Principe' do
         
     | 
| 
       697 
     | 
    
         
            -
                  it_splits '2392220012', %w(239 2 220 012)
         
     | 
| 
       698 
     | 
    
         
            -
                  it_splits '2399920012', %w(239 9 920 012)
         
     | 
| 
       699 
     | 
    
         
            -
                end
         
     | 
| 
       700 
     | 
    
         
            -
                describe 'South Korea' do
         
     | 
| 
       701 
     | 
    
         
            -
                  it_splits '82212345678',  ['82', '2', '1234', '5678']  # Seoul (8 digits)
         
     | 
| 
       702 
     | 
    
         
            -
                  it_splits '8227111222',   ['82', '2', '711', '1222']   # Seoul (7 digits)
         
     | 
| 
       703 
     | 
    
         
            -
                  it_splits '825112345678', ['82', '51', '1234', '5678'] # Busan (8 digits)
         
     | 
| 
       704 
     | 
    
         
            -
                  it_splits '82511234567',  ['82', '51', '123', '4567']  # Busan (7 digits)
         
     | 
| 
       705 
     | 
    
         
            -
                  it_splits '821027975588', ['82', '10', '2797', '5588'] # mobile
         
     | 
| 
       706 
     | 
    
         
            -
                  it_splits '821087971234', ['82', '10', '8797', '1234'] # mobile
         
     | 
| 
       707 
     | 
    
         
            -
                end
         
     | 
| 
       708 
     | 
    
         
            -
                describe 'Serbia' do
         
     | 
| 
       709 
     | 
    
         
            -
                  it_splits '38163512529', ['381', '63', '512', '529']
         
     | 
| 
       710 
     | 
    
         
            -
                end
         
     | 
| 
       711 
     | 
    
         
            -
                describe 'South Sudan' do
         
     | 
| 
       712 
     | 
    
         
            -
                  it_splits '211123212345', ['211', '123', '212', '345']
         
     | 
| 
       713 
     | 
    
         
            -
                  it_splits '211973212345', ['211', '973', '212', '345']
         
     | 
| 
       714 
     | 
    
         
            -
                end
         
     | 
| 
       715 
     | 
    
         
            -
                describe 'Sudan' do
         
     | 
| 
       716 
     | 
    
         
            -
                  it_splits '249187171100', ['249', '18', '717', '1100']
         
     | 
| 
       717 
     | 
    
         
            -
                end
         
     | 
| 
       718 
     | 
    
         
            -
                describe 'Thailand' do
         
     | 
| 
       719 
     | 
    
         
            -
                  it_splits '6621231234',  ['66', '2', '123', '1234']  # Bangkok
         
     | 
| 
       720 
     | 
    
         
            -
                  it_splits '6636123123',  ['66', '36', '123', '123']  # Lop Buri
         
     | 
| 
       721 
     | 
    
         
            -
                  it_splits '66851234567', ['66', '851', '234', '567'] # Lop Buri
         
     | 
| 
       722 
     | 
    
         
            -
                  it_splits '66921234567', ['66', '921', '234', '567'] # mobile
         
     | 
| 
       723 
     | 
    
         
            -
                end
         
     | 
| 
       724 
     | 
    
         
            -
                describe 'Tunesia' do
         
     | 
| 
       725 
     | 
    
         
            -
                  it_splits '21611231234', ['216', '1', '123', '1234'] # Ariana
         
     | 
| 
       726 
     | 
    
         
            -
                  it_splits '21621231234', ['216', '2', '123', '1234'] # Bizerte
         
     | 
| 
       727 
     | 
    
         
            -
                end
         
     | 
| 
       728 
     | 
    
         
            -
                describe 'Salvador (El)' do
         
     | 
| 
       729 
     | 
    
         
            -
                  it_splits '50321121234', ['503', '2112', '1234'] # Fixed number
         
     | 
| 
       730 
     | 
    
         
            -
                  it_splits '50361121234', ['503', '6112', '1234'] # Mobile number
         
     | 
| 
       731 
     | 
    
         
            -
                end
         
     | 
| 
       732 
     | 
    
         
            -
             
     | 
| 
       733 
     | 
    
         
            -
                describe 'Singapore' do
         
     | 
| 
       734 
     | 
    
         
            -
                  it_splits '6561231234',   ['65', false, '6123', '1234'] # Fixed line
         
     | 
| 
       735 
     | 
    
         
            -
                  it_splits '658008521234', ['65', false, '800', '852', '1234'] # International Toll Free Service (ITFS) and Home Country Direct Service (HCDS) Numbers
         
     | 
| 
       736 
     | 
    
         
            -
                end
         
     | 
| 
       737 
     | 
    
         
            -
                describe 'Slovakia' do
         
     | 
| 
       738 
     | 
    
         
            -
                  it_splits '421912123456', ['421', '912', '123456'] # Mobile
         
     | 
| 
       739 
     | 
    
         
            -
                  it_splits '421212345678', ['421', '2', '12345678'] # Bratislava
         
     | 
| 
       740 
     | 
    
         
            -
                  it_splits '4212123',      ['421', '2', '123'] # Bratislava Short
         
     | 
| 
       741 
     | 
    
         
            -
                  it_splits '421371234567', ['421', '37', '1234567'] # Nitra / Other
         
     | 
| 
       742 
     | 
    
         
            -
                  it_splits '42137123',     ['421', '37', '123'] # Nitra / Other Short
         
     | 
| 
       743 
     | 
    
         
            -
                end
         
     | 
| 
       744 
     | 
    
         
            -
             
     | 
| 
       745 
     | 
    
         
            -
                describe 'Slovenia' do
         
     | 
| 
       746 
     | 
    
         
            -
                  it_splits '38651234567', ['386', '51', '234', '567']  # Mobile
         
     | 
| 
       747 
     | 
    
         
            -
                  it_splits '38611234567', ['386', '1', '123', '4567']  # LJUBLJANA
         
     | 
| 
       748 
     | 
    
         
            -
                end
         
     | 
| 
       749 
     | 
    
         
            -
             
     | 
| 
       750 
     | 
    
         
            -
                describe 'Spain' do
         
     | 
| 
       751 
     | 
    
         
            -
                  it_splits '34600123456', ['34', '600', '123', '456'] # Mobile
         
     | 
| 
       752 
     | 
    
         
            -
                  it_splits '34900123456', ['34', '900', '123', '456'] # Special
         
     | 
| 
       753 
     | 
    
         
            -
                  it_splits '34931234567', ['34', '93', '123', '45', '67'] # Landline large regions
         
     | 
| 
       754 
     | 
    
         
            -
                  it_splits '34975123456', ['34', '975', '12', '34', '56'] # Landline
         
     | 
| 
       755 
     | 
    
         
            -
                  it_splits '34123456789', ['34', '123', '456', '789'] # Default
         
     | 
| 
       756 
     | 
    
         
            -
                end
         
     | 
| 
       757 
     | 
    
         
            -
             
     | 
| 
       758 
     | 
    
         
            -
                describe 'Sri Lanka' do
         
     | 
| 
       759 
     | 
    
         
            -
                  it_splits '94711231212', ['94', '71', '123', '12', '12'] # Mobile
         
     | 
| 
       760 
     | 
    
         
            -
                end
         
     | 
| 
       761 
     | 
    
         
            -
             
     | 
| 
       762 
     | 
    
         
            -
                describe 'Sweden' do
         
     | 
| 
       763 
     | 
    
         
            -
                  it_splits '46812345678', ['46', '8', '123', '45', '678'] # Stockholm
         
     | 
| 
       764 
     | 
    
         
            -
                  it_splits '46111234567', ['46', '11', '123', '45', '67']
         
     | 
| 
       765 
     | 
    
         
            -
                  it_splits '46721234567', ['46', '72', '123', '45', '67'] # mobile
         
     | 
| 
       766 
     | 
    
         
            -
                  it_splits '46791234567', ['46', '79', '123', '45', '67'] # mobile
         
     | 
| 
       767 
     | 
    
         
            -
                  it_splits '46125123456', ['46', '125', '12', '34', '56']
         
     | 
| 
       768 
     | 
    
         
            -
                  it_splits '46770820180', ['46', '77', '082', '01', '80']
         
     | 
| 
       769 
     | 
    
         
            -
                  it_splits '4641712345',  ['46', '417', '123', '45']
         
     | 
| 
       770 
     | 
    
         
            -
                  it_splits '46513123456', ['46', '513', '12', '34', '56']
         
     | 
| 
       771 
     | 
    
         
            -
                end
         
     | 
| 
       772 
     | 
    
         
            -
                describe 'Switzerland' do
         
     | 
| 
       773 
     | 
    
         
            -
                  it_splits '41443643532', ['41', '44', '364', '35', '32'] # Zurich (usually)
         
     | 
| 
       774 
     | 
    
         
            -
                  it_splits '41800334455', ['41', '800', '334', '455']     # Service number
         
     | 
| 
       775 
     | 
    
         
            -
                  it_splits '41860443643532', ['41', '860', '44', '364', '35', '32'] # Voicemail access
         
     | 
| 
       776 
     | 
    
         
            -
                  it_splits '41900123456', ['41', '900', '123', '456']     # Business Number
         
     | 
| 
       777 
     | 
    
         
            -
                  it_splits '41901123456', ['41', '901', '123', '456']     # Business Number Entertainment
         
     | 
| 
       778 
     | 
    
         
            -
                  it_splits '41906123456', ['41', '906', '123', '456']     # Business Number Adult Entertainment
         
     | 
| 
       779 
     | 
    
         
            -
                end
         
     | 
| 
       780 
     | 
    
         
            -
                describe 'Tanzania' do
         
     | 
| 
       781 
     | 
    
         
            -
                  it_splits '255221231234', ['255', '22', '123', '1234'] # Dar Es Salaam
         
     | 
| 
       782 
     | 
    
         
            -
                  it_splits '255651231234', ['255', '65', '123', '1234'] # TIGO
         
     | 
| 
       783 
     | 
    
         
            -
                  it_splits '255861123123', ['255', '861', '123', '123'] # Special Rates
         
     | 
| 
       784 
     | 
    
         
            -
                end
         
     | 
| 
       785 
     | 
    
         
            -
                describe 'Turkey' do
         
     | 
| 
       786 
     | 
    
         
            -
                  it_splits '903121234567', ['90', '312', '123', '4567'] # Ankara
         
     | 
| 
       787 
     | 
    
         
            -
                end
         
     | 
| 
       788 
     | 
    
         
            -
                describe 'Uganda' do
         
     | 
| 
       789 
     | 
    
         
            -
                  it_splits '256414123456', ['256', '41', '4123456'] # Kampania
         
     | 
| 
       790 
     | 
    
         
            -
                  it_splits '256464441234', ['256', '464', '441234'] # Mubende
         
     | 
| 
       791 
     | 
    
         
            -
                end
         
     | 
| 
       792 
     | 
    
         
            -
                describe 'The UK' do
         
     | 
| 
       793 
     | 
    
         
            -
                  it_splits '442075671113', ['44', '20', '7567', '1113'] # [2+8] London
         
     | 
| 
       794 
     | 
    
         
            -
                  it_splits '442920229901', ['44', '29', '2022', '9901'] # [2+8] Cardiff
         
     | 
| 
       795 
     | 
    
         
            -
                  it_splits '441134770011', ['44', '113', '477', '0011'] # [3+7] Leeds
         
     | 
| 
       796 
     | 
    
         
            -
                  it_splits '441412770022', ['44', '141', '277', '0022'] # [3+7] Glasgow
         
     | 
| 
       797 
     | 
    
         
            -
                  it_splits '441204500532', ['44', '1204', '500532']     # [4+6] Bolton
         
     | 
| 
       798 
     | 
    
         
            -
                  it_splits '44120462532', ['44', '1204', '62532']       # [4+5] Bolton
         
     | 
| 
       799 
     | 
    
         
            -
                  it_splits '441333247700', ['44', '1333', '247700']     # [4+6] Leven (Fife)
         
     | 
| 
       800 
     | 
    
         
            -
                  it_splits '441382229845', ['44', '1382', '229845']     # [4+6] Dundee
         
     | 
| 
       801 
     | 
    
         
            -
                  it_splits '441420700378', ['44', '1420', '700378']     # [4+6] Alton
         
     | 
| 
       802 
     | 
    
         
            -
                  it_splits '44142080378', ['44', '1420', '80378']       # [4+5] Alton
         
     | 
| 
       803 
     | 
    
         
            -
                  it_splits '441475724688', ['44', '1475', '724688']     # [4+6] Greenock
         
     | 
| 
       804 
     | 
    
         
            -
                  it_splits '441539248756', ['44', '1539', '248756']     # [4+6] Kendal (Mixed area)
         
     | 
| 
       805 
     | 
    
         
            -
                  it_splits '441539648788', ['44', '15396', '48788']     # [5+5] Sedbergh (Mixed area)
         
     | 
| 
       806 
     | 
    
         
            -
                  it_splits '441652757248', ['44', '1652', '757248']     # [4+6] Brigg
         
     | 
| 
       807 
     | 
    
         
            -
                  it_splits '441664333456', ['44', '1664', '333456']     # [4+6] Melton Mowbray
         
     | 
| 
       808 
     | 
    
         
            -
                  it_splits '441697222555', ['44', '1697', '222555']     # [4+6] Brampton (Mixed area)
         
     | 
| 
       809 
     | 
    
         
            -
                  it_splits '441697388555', ['44', '16973', '88555']     # [5+5] Wigton (Mixed area)
         
     | 
| 
       810 
     | 
    
         
            -
                  it_splits '441697433777', ['44', '16974', '33777']     # [5+5] Raughton Head (Mixed area)
         
     | 
| 
       811 
     | 
    
         
            -
                  it_splits '44169772333', ['44', '16977', '2333']       # [5+4] Brampton (Mixed area)
         
     | 
| 
       812 
     | 
    
         
            -
                  it_splits '441697744888', ['44', '16977', '44888']     # [5+5] Brampton (Mixed area)
         
     | 
| 
       813 
     | 
    
         
            -
                  it_splits '441757850526', ['44', '1757', '850526']     # [4+6] Selby
         
     | 
| 
       814 
     | 
    
         
            -
                  it_splits '441890234567', ['44', '1890', '234567']     # [4+6] Coldstream (ELNS area)
         
     | 
| 
       815 
     | 
    
         
            -
                  it_splits '441890595378', ['44', '1890', '595378']     # [4+6] Ayton (ELNS area)
         
     | 
| 
       816 
     | 
    
         
            -
                  it_splits '441931306526', ['44', '1931', '306526']     # [4+6] Shap
         
     | 
| 
       817 
     | 
    
         
            -
                  it_splits '441946555777', ['44', '1946', '555777']     # [4+6] Whitehaven (Mixed area)
         
     | 
| 
       818 
     | 
    
         
            -
                  it_splits '44194662888', ['44', '1946', '62888']       # [4+5] Whitehaven (Mixed area)
         
     | 
| 
       819 
     | 
    
         
            -
                  it_splits '441946722444', ['44', '19467', '22444']     # [5+5] Gosforth (Mixed area)
         
     | 
| 
       820 
     | 
    
         
            -
                  it_splits '441987705337', ['44', '1987', '705337']     # [4+6] Ebbsfleet
         
     | 
| 
       821 
     | 
    
         
            -
                  it_splits '443005828323', ['44', '300', '582', '8323'] # Non-geographic (NTS)
         
     | 
| 
       822 
     | 
    
         
            -
                  it_splits '443334253344', ['44', '333', '425', '3344'] # Non-geographic (NTS)
         
     | 
| 
       823 
     | 
    
         
            -
                  it_splits '443437658834', ['44', '343', '765', '8834'] # Non-geographic (NTS)
         
     | 
| 
       824 
     | 
    
         
            -
                  it_splits '443452273512', ['44', '345', '227', '3512'] # Non-geographic (NTS)
         
     | 
| 
       825 
     | 
    
         
            -
                  it_splits '443707774444', ['44', '370', '777', '4444'] # Non-geographic (NTS)
         
     | 
| 
       826 
     | 
    
         
            -
                  it_splits '443725247722', ['44', '372', '524', '7722'] # Non-geographic (NTS)
         
     | 
| 
       827 
     | 
    
         
            -
                  it_splits '44500557788',  ['44', '500', '557788']      # Freefone (500 + 6)
         
     | 
| 
       828 
     | 
    
         
            -
                  it_splits '445575671113', ['44', '55', '7567', '1113'] # Corporate numbers
         
     | 
| 
       829 
     | 
    
         
            -
                  it_splits '445644775533', ['44', '56', '4477', '5533'] # LIECS/VoIP
         
     | 
| 
       830 
     | 
    
         
            -
                  it_splits '447020229901', ['44', '70', '2022', '9901'] # Personal numbers
         
     | 
| 
       831 
     | 
    
         
            -
                  it_splits '447688554246', ['44', '76', '8855', '4246'] # Pager
         
     | 
| 
       832 
     | 
    
         
            -
                  it_splits '447180605207', ['44', '7180', '605207']     # Mobile
         
     | 
| 
       833 
     | 
    
         
            -
                  it_splits '447480605207', ['44', '7480', '605207']     # Mobile
         
     | 
| 
       834 
     | 
    
         
            -
                  it_splits '447624605207', ['44', '7624', '605207']     # Mobile (Isle of Man)
         
     | 
| 
       835 
     | 
    
         
            -
                  it_splits '447780605207', ['44', '7780', '605207']     # Mobile
         
     | 
| 
       836 
     | 
    
         
            -
                  it_splits '447980605207', ['44', '7980', '605207']     # Mobile
         
     | 
| 
       837 
     | 
    
         
            -
                  it_splits '44800557788',  ['44', '800', '557788']      # Freefone (800 + 6)
         
     | 
| 
       838 
     | 
    
         
            -
                  it_splits '448084682355', ['44', '808', '468', '2355'] # Freefone (808 + 7)
         
     | 
| 
       839 
     | 
    
         
            -
                  it_splits '448005878323', ['44', '800', '587', '8323'] # Freefone (800 + 7), regression
         
     | 
| 
       840 
     | 
    
         
            -
                  it_splits '448437777334', ['44', '843', '777', '7334'] # Non-geographic (NTS)
         
     | 
| 
       841 
     | 
    
         
            -
                  it_splits '448457777334', ['44', '845', '777', '7334'] # Non-geographic (NTS)
         
     | 
| 
       842 
     | 
    
         
            -
                  it_splits '448707777334', ['44', '870', '777', '7334'] # Non-geographic (NTS)
         
     | 
| 
       843 
     | 
    
         
            -
                  it_splits '448727777334', ['44', '872', '777', '7334'] # Non-geographic (NTS)
         
     | 
| 
       844 
     | 
    
         
            -
                  it_splits '449052463456', ['44', '905', '246', '3456'] # Non-geographic (PRS)
         
     | 
| 
       845 
     | 
    
         
            -
                  it_splits '449122463456', ['44', '912', '246', '3456'] # Non-geographic (PRS)
         
     | 
| 
       846 
     | 
    
         
            -
                  it_splits '449832463456', ['44', '983', '246', '3456'] # Non-geographic (SES)
         
     | 
| 
       847 
     | 
    
         
            -
                end
         
     | 
| 
       848 
     | 
    
         
            -
                describe 'US' do
         
     | 
| 
       849 
     | 
    
         
            -
                  it_splits '15551115511', ['1', '555', '111', '5511']
         
     | 
| 
       850 
     | 
    
         
            -
                end
         
     | 
| 
       851 
     | 
    
         
            -
                describe 'Venezuela' do
         
     | 
| 
       852 
     | 
    
         
            -
                  it_splits '582121234567', ['58', '212', '1234567']
         
     | 
| 
       853 
     | 
    
         
            -
                end
         
     | 
| 
       854 
     | 
    
         
            -
                describe 'Vietnam' do
         
     | 
| 
       855 
     | 
    
         
            -
                  it_splits '8498123456', ['84', '98', '123456'] # Viettel Mobile
         
     | 
| 
       856 
     | 
    
         
            -
                  it_splits '8499612345', ['84', '99', '612345'] # GTel
         
     | 
| 
       857 
     | 
    
         
            -
                  it_splits '842421234567', ['84', '24', '2123', '4567'] # Hanoi
         
     | 
| 
       858 
     | 
    
         
            -
                  it_splits '842841234567', ['84', '28', '4123', '4567'] # Ho Chi Minh City
         
     | 
| 
       859 
     | 
    
         
            -
                  it_splits '84341234567', ['84', '34', '1234567'] # Viettel
         
     | 
| 
       860 
     | 
    
         
            -
                  it_splits '84841234567', ['84', '84', '1234567'] # Vinaphone
         
     | 
| 
       861 
     | 
    
         
            -
                  it_splits '8419001212', ['84', '1900', '1212'] # Vinaphone
         
     | 
| 
       862 
     | 
    
         
            -
                  it_splits '841900541234', ['84', '1900', '541234'] # Vinaphone
         
     | 
| 
       863 
     | 
    
         
            -
                end
         
     | 
| 
       864 
     | 
    
         
            -
                describe 'Zambia' do
         
     | 
| 
       865 
     | 
    
         
            -
                  it_splits '260211123456', ['260', '211', '123456']     # Fixed
         
     | 
| 
       866 
     | 
    
         
            -
                  it_splits '260955123456', ['260', '95', '512', '3456'] # Mobile
         
     | 
| 
       867 
     | 
    
         
            -
                  it_splits '260967123456', ['260', '96', '712', '3456'] # Mobile
         
     | 
| 
       868 
     | 
    
         
            -
                  it_splits '260978123456', ['260', '97', '812', '3456'] # Mobile
         
     | 
| 
       869 
     | 
    
         
            -
                  it_splits '260800123456', ['260', '800', '123', '456'] # Toll free
         
     | 
| 
       870 
     | 
    
         
            -
                end
         
     | 
| 
       871 
     | 
    
         
            -
                describe 'New Zealand' do
         
     | 
| 
       872 
     | 
    
         
            -
                  it_splits '6491234567', ['64', '9', '123', '4567']
         
     | 
| 
       873 
     | 
    
         
            -
                  it_splits '64800123123', ['64', '800', '123', '123']
         
     | 
| 
       874 
     | 
    
         
            -
                  it_splits '648001231234', ['64', '800', '123', '1234']
         
     | 
| 
       875 
     | 
    
         
            -
                end
         
     | 
| 
       876 
     | 
    
         
            -
                describe 'Bhutan (Kingdom of)' do
         
     | 
| 
       877 
     | 
    
         
            -
                  it_splits '9759723642', %w(975 9 723 642)
         
     | 
| 
       878 
     | 
    
         
            -
                end
         
     | 
| 
       879 
     | 
    
         
            -
                describe 'Brunei Darussalam' do
         
     | 
| 
       880 
     | 
    
         
            -
                  it_splits '6737932744', %w(673 7 932 744)
         
     | 
| 
       881 
     | 
    
         
            -
                end
         
     | 
| 
       882 
     | 
    
         
            -
                describe 'Burkina Faso' do
         
     | 
| 
       883 
     | 
    
         
            -
                  it_splits '22667839323', ['226', false, '67', '83', '93', '23']
         
     | 
| 
       884 
     | 
    
         
            -
                  it_splits '22601234567', ['226', false, '01', '23', '45', '67'] # 0 not removed.
         
     | 
| 
       885 
     | 
    
         
            -
                end
         
     | 
| 
       886 
     | 
    
         
            -
                describe 'Burundi' do
         
     | 
| 
       887 
     | 
    
         
            -
                  it_splits '25712345678', ['257', false, '1234', '5678']
         
     | 
| 
       888 
     | 
    
         
            -
                end
         
     | 
| 
       889 
     | 
    
         
            -
                describe 'Cameroon' do
         
     | 
| 
       890 
     | 
    
         
            -
                  it_splits '237276593812', ['237', false, '276', '59', '38', '12']
         
     | 
| 
       891 
     | 
    
         
            -
                end
         
     | 
| 
       892 
     | 
    
         
            -
                describe 'Cape Verde' do
         
     | 
| 
       893 
     | 
    
         
            -
                  it_splits '2385494177', ['238', false, '549', '4177']
         
     | 
| 
       894 
     | 
    
         
            -
                end
         
     | 
| 
       895 
     | 
    
         
            -
                describe 'Central African Republic' do
         
     | 
| 
       896 
     | 
    
         
            -
                  it_splits '23612345678', ['236', false, '1234', '5678']
         
     | 
| 
       897 
     | 
    
         
            -
                end
         
     | 
| 
       898 
     | 
    
         
            -
                describe 'Chad' do
         
     | 
| 
       899 
     | 
    
         
            -
                  it_splits '23512345678', ['235', false, '1234', '5678']
         
     | 
| 
       900 
     | 
    
         
            -
                end
         
     | 
| 
       901 
     | 
    
         
            -
                describe 'Comoros' do
         
     | 
| 
       902 
     | 
    
         
            -
                  it_splits '2693901234', ['269', false, '3901', '234']
         
     | 
| 
       903 
     | 
    
         
            -
                  it_splits '2693401234', ['269', false, '3401', '234']
         
     | 
| 
       904 
     | 
    
         
            -
                end
         
     | 
| 
       905 
     | 
    
         
            -
                describe 'Congo' do
         
     | 
| 
       906 
     | 
    
         
            -
                  it_splits '242123456789', ['242', false, '1234', '56789']
         
     | 
| 
       907 
     | 
    
         
            -
                end
         
     | 
| 
       908 
     | 
    
         
            -
                describe 'Cook Islands' do
         
     | 
| 
       909 
     | 
    
         
            -
                  it_splits '68251475', ['682', false, '51', '475']
         
     | 
| 
       910 
     | 
    
         
            -
                end
         
     | 
| 
       911 
     | 
    
         
            -
                describe 'Costa Rica' do
         
     | 
| 
       912 
     | 
    
         
            -
                  it_splits '50622345678', %w(506 2 234 5678)
         
     | 
| 
       913 
     | 
    
         
            -
                end
         
     | 
| 
       914 
     | 
    
         
            -
                describe "Côte d'Ivoire" do
         
     | 
| 
       915 
     | 
    
         
            -
                  it_splits '2250107335518', ['225', '01', '07', '33', '55', '18']
         
     | 
| 
       916 
     | 
    
         
            -
                  it_splits '2250237335518', ['225', '02', '37', '33', '55', '18']
         
     | 
| 
       917 
     | 
    
         
            -
                end
         
     | 
| 
       918 
     | 
    
         
            -
                describe 'Democratic Republic of Timor-Leste' do
         
     | 
| 
       919 
     | 
    
         
            -
                  it_splits '6701742945', ['670', false, '174', '2945']
         
     | 
| 
       920 
     | 
    
         
            -
                end
         
     | 
| 
       921 
     | 
    
         
            -
                describe 'Democratic Republic of the Congo' do
         
     | 
| 
       922 
     | 
    
         
            -
                  it_splits '243121995381', %w(243 12 199 5381)
         
     | 
| 
       923 
     | 
    
         
            -
                end
         
     | 
| 
       924 
     | 
    
         
            -
                describe 'Diego Garcia' do
         
     | 
| 
       925 
     | 
    
         
            -
                  it_splits '2461234683', ['246', false, '123', '4683']
         
     | 
| 
       926 
     | 
    
         
            -
                end
         
     | 
| 
       927 
     | 
    
         
            -
                describe 'Djibouti' do
         
     | 
| 
       928 
     | 
    
         
            -
                  it_splits '25349828978', ['253', false, '4982', '8978']
         
     | 
| 
       929 
     | 
    
         
            -
                end
         
     | 
| 
       930 
     | 
    
         
            -
                describe 'Ecuador' do
         
     | 
| 
       931 
     | 
    
         
            -
                  it_splits '593220000000', %w(593 22 000 0000)
         
     | 
| 
       932 
     | 
    
         
            -
                  it_splits '59322000000', %w(593 2 200 0000)
         
     | 
| 
       933 
     | 
    
         
            -
                  it_splits '593230000000', %w(593 23 000 0000)
         
     | 
| 
       934 
     | 
    
         
            -
                  it_splits '59323000000', %w(593 2 300 0000)
         
     | 
| 
       935 
     | 
    
         
            -
                  it_splits '59324000000', %w(593 2 400 0000)
         
     | 
| 
       936 
     | 
    
         
            -
                  it_splits '59325000000', %w(593 2 500 0000)
         
     | 
| 
       937 
     | 
    
         
            -
                  it_splits '593260000000', %w(593 26 000 0000)
         
     | 
| 
       938 
     | 
    
         
            -
                  it_splits '59327000000', %w(593 2 700 0000)
         
     | 
| 
       939 
     | 
    
         
            -
                  it_splits '593270000000', %w(593 27 000 0000)
         
     | 
| 
       940 
     | 
    
         
            -
                  it_splits '59330000000', %w(593 3 000 0000)
         
     | 
| 
       941 
     | 
    
         
            -
                  it_splits '59340000000', %w(593 4 000 0000)
         
     | 
| 
       942 
     | 
    
         
            -
                  it_splits '593440000000', %w(593 44 000 0000)
         
     | 
| 
       943 
     | 
    
         
            -
                  it_splits '593450000000', %w(593 45 000 0000)
         
     | 
| 
       944 
     | 
    
         
            -
                  it_splits '59345000000', %w(593 4 500 0000)
         
     | 
| 
       945 
     | 
    
         
            -
                  it_splits '59346000000', %w(593 4 600 0000)
         
     | 
| 
       946 
     | 
    
         
            -
                  it_splits '593470000000', %w(593 47 000 0000)
         
     | 
| 
       947 
     | 
    
         
            -
                  it_splits '59352000000', %w(593 5 200 0000)
         
     | 
| 
       948 
     | 
    
         
            -
                  it_splits '59353000000', %w(593 5 300 0000)
         
     | 
| 
       949 
     | 
    
         
            -
                  it_splits '59362000000', %w(593 6 200 0000)
         
     | 
| 
       950 
     | 
    
         
            -
                  it_splits '59372000000', %w(593 7 200 0000)
         
     | 
| 
       951 
     | 
    
         
            -
                  it_splits '59373000000', %w(593 7 300 0000)
         
     | 
| 
       952 
     | 
    
         
            -
                  it_splits '59374000000', %w(593 7 400 0000)
         
     | 
| 
       953 
     | 
    
         
            -
                  it_splits '59376000000', %w(593 7 600 0000)
         
     | 
| 
       954 
     | 
    
         
            -
                  it_splits '593900000000', %w(593 9 0000 0000)
         
     | 
| 
       955 
     | 
    
         
            -
                end
         
     | 
| 
       956 
     | 
    
         
            -
                describe 'Eritrea' do
         
     | 
| 
       957 
     | 
    
         
            -
                  it_splits '2916537192', %w(291 6 537 192)
         
     | 
| 
       958 
     | 
    
         
            -
                end
         
     | 
| 
       959 
     | 
    
         
            -
                describe 'Ethiopia' do
         
     | 
| 
       960 
     | 
    
         
            -
                  it_splits '251721233486', %w(251 72 123 3486)
         
     | 
| 
       961 
     | 
    
         
            -
                end
         
     | 
| 
       962 
     | 
    
         
            -
                describe 'Falkland Islands (Malvinas)' do
         
     | 
| 
       963 
     | 
    
         
            -
                  it_splits '50014963', ['500', false, '14', '963']
         
     | 
| 
       964 
     | 
    
         
            -
                end
         
     | 
| 
       965 
     | 
    
         
            -
                describe 'Faroe Islands' do
         
     | 
| 
       966 
     | 
    
         
            -
                  it_splits '298997986', ['298', false, '997', '986']
         
     | 
| 
       967 
     | 
    
         
            -
                end
         
     | 
| 
       968 
     | 
    
         
            -
                describe 'Fiji (Republic of)' do
         
     | 
| 
       969 
     | 
    
         
            -
                  it_splits '6798668123', ['679', false, '866', '8123']
         
     | 
| 
       970 
     | 
    
         
            -
                end
         
     | 
| 
       971 
     | 
    
         
            -
                describe 'French Guiana (French Department of)' do
         
     | 
| 
       972 
     | 
    
         
            -
                  it_splits '594594123456', %w(594 594 123 456)
         
     | 
| 
       973 
     | 
    
         
            -
                end
         
     | 
| 
       974 
     | 
    
         
            -
                describe "French Polynesia (Territoire français d'outre-mer)" do
         
     | 
| 
       975 
     | 
    
         
            -
                  it_splits '68921988900', ['689', false, '21', '98', '89', '00']
         
     | 
| 
       976 
     | 
    
         
            -
                end
         
     | 
| 
       977 
     | 
    
         
            -
                describe 'Gabonese Republic' do
         
     | 
| 
       978 
     | 
    
         
            -
                  it_splits '2411834375', ['241', '1', '834', '375']
         
     | 
| 
       979 
     | 
    
         
            -
                  it_splits '24174012345', ['241', '74', '01', '23', '45']
         
     | 
| 
       980 
     | 
    
         
            -
                end
         
     | 
| 
       981 
     | 
    
         
            -
                describe 'Gambia' do
         
     | 
| 
       982 
     | 
    
         
            -
                  it_splits '2206683355', ['220', false, '668', '3355']
         
     | 
| 
       983 
     | 
    
         
            -
                end
         
     | 
| 
       984 
     | 
    
         
            -
                describe 'Greenland' do
         
     | 
| 
       985 
     | 
    
         
            -
                  it_splits '299314185', ['299', '31', '4185']
         
     | 
| 
       986 
     | 
    
         
            -
                  it_splits '299691123', ['299', '691', '123']
         
     | 
| 
       987 
     | 
    
         
            -
                end
         
     | 
| 
       988 
     | 
    
         
            -
                describe 'Guadeloupe (French Department of)' do
         
     | 
| 
       989 
     | 
    
         
            -
                  it_splits '590590456789', %w(590 590 45 67 89)
         
     | 
| 
       990 
     | 
    
         
            -
                end
         
     | 
| 
       991 
     | 
    
         
            -
                describe 'Guatemala (Republic of)' do
         
     | 
| 
       992 
     | 
    
         
            -
                  it_splits '50219123456789', ['502', '19', '123', '456', '789']
         
     | 
| 
       993 
     | 
    
         
            -
                  it_splits '50221234567', ['502', '2', '123', '4567']
         
     | 
| 
       994 
     | 
    
         
            -
                end
         
     | 
| 
       995 
     | 
    
         
            -
                describe 'Guinea' do
         
     | 
| 
       996 
     | 
    
         
            -
                  it_splits '22430311234', ['224', '3031', '12', '34']
         
     | 
| 
       997 
     | 
    
         
            -
                  it_splits '224662123456', ['224', '662', '12', '34', '56']
         
     | 
| 
       998 
     | 
    
         
            -
                end
         
     | 
| 
       999 
     | 
    
         
            -
                describe 'Guinea-Bissau' do
         
     | 
| 
       1000 
     | 
    
         
            -
                  it_splits '245443837652', ['245', false, '44', '383', '7652']
         
     | 
| 
       1001 
     | 
    
         
            -
                end
         
     | 
| 
       1002 
     | 
    
         
            -
                describe 'Guyana' do
         
     | 
| 
       1003 
     | 
    
         
            -
                  it_splits '5922631234', %w(592 263 1234)
         
     | 
| 
       1004 
     | 
    
         
            -
                end
         
     | 
| 
       1005 
     | 
    
         
            -
                describe 'Honduras (Republic of)' do
         
     | 
| 
       1006 
     | 
    
         
            -
                  it_splits '50412961637', %w(504 12 961 637)
         
     | 
| 
       1007 
     | 
    
         
            -
                end
         
     | 
| 
       1008 
     | 
    
         
            -
                describe 'Iraq' do
         
     | 
| 
       1009 
     | 
    
         
            -
                  it_splits '96411234567', %w(964 1 123 4567)
         
     | 
| 
       1010 
     | 
    
         
            -
                  it_splits '96421113456', %w(964 21 113 456)
         
     | 
| 
       1011 
     | 
    
         
            -
                  it_splits '9647112345678', %w(964 71 1234 5678)
         
     | 
| 
       1012 
     | 
    
         
            -
                end
         
     | 
| 
       1013 
     | 
    
         
            -
                describe 'Jordan (Hashemite Kingdom of)' do
         
     | 
| 
       1014 
     | 
    
         
            -
                  it_splits '96280012345', %w(962 800 123 45)
         
     | 
| 
       1015 
     | 
    
         
            -
                  it_splits '96226201234', %w(962 2 620 1234)
         
     | 
| 
       1016 
     | 
    
         
            -
                  it_splits '962712345678', %w(962 7 1234 5678)
         
     | 
| 
       1017 
     | 
    
         
            -
                  it_splits '962746612345', %w(962 7 4661 2345)
         
     | 
| 
       1018 
     | 
    
         
            -
                  it_splits '96290012345', %w(962 900 123 45)
         
     | 
| 
       1019 
     | 
    
         
            -
                  it_splits '96285123456', %w(962 85 123 456)
         
     | 
| 
       1020 
     | 
    
         
            -
                  it_splits '96270123456', %w(962 70 123 456)
         
     | 
| 
       1021 
     | 
    
         
            -
                  it_splits '96262501456', %w(962 6250 1456)
         
     | 
| 
       1022 
     | 
    
         
            -
                  it_splits '96287901456', %w(962 8790 1456)
         
     | 
| 
       1023 
     | 
    
         
            -
                end
         
     | 
| 
       1024 
     | 
    
         
            -
                describe 'Kiribati (Republic of)' do
         
     | 
| 
       1025 
     | 
    
         
            -
                  it_splits '68634814527', ['686', false, '34814527']
         
     | 
| 
       1026 
     | 
    
         
            -
                end
         
     | 
| 
       1027 
     | 
    
         
            -
                describe "Democratic People's Republic of Korea" do
         
     | 
| 
       1028 
     | 
    
         
            -
                  it_splits '850212345', %w(850 2 123 45)
         
     | 
| 
       1029 
     | 
    
         
            -
                  it_splits '8502123456789', %w(850 2 123 456 789)
         
     | 
| 
       1030 
     | 
    
         
            -
                  it_splits '85023812356', %w(850 2 381 2356)
         
     | 
| 
       1031 
     | 
    
         
            -
                  #it_splits '85028801123456781256', %w(850 2 8801 1234 5678 1256)
         
     | 
| 
       1032 
     | 
    
         
            -
                  it_splits '8501911234567', %w(850 191 123 4567)
         
     | 
| 
       1033 
     | 
    
         
            -
                end
         
     | 
| 
       1034 
     | 
    
         
            -
                describe 'Kuwait (State of)' do
         
     | 
| 
       1035 
     | 
    
         
            -
                  it_splits '96523456789', ['965', false, '2345', '6789']
         
     | 
| 
       1036 
     | 
    
         
            -
                  it_splits '9651812345', ['965', false, '181', '2345']
         
     | 
| 
       1037 
     | 
    
         
            -
                end
         
     | 
| 
       1038 
     | 
    
         
            -
                describe "Lao People's Democratic Republic" do
         
     | 
| 
       1039 
     | 
    
         
            -
                  it_splits '85697831195', %w(856 97 831 195)
         
     | 
| 
       1040 
     | 
    
         
            -
                end
         
     | 
| 
       1041 
     | 
    
         
            -
                describe 'Latvia' do
         
     | 
| 
       1042 
     | 
    
         
            -
                  it_splits '37180123456', %w(371 801 234 56)
         
     | 
| 
       1043 
     | 
    
         
            -
                  it_splits '37163723456', %w(371 637 234 56)
         
     | 
| 
       1044 
     | 
    
         
            -
                  it_splits '37129412345', %w(371 294 123 45)
         
     | 
| 
       1045 
     | 
    
         
            -
                end
         
     | 
| 
       1046 
     | 
    
         
            -
                describe 'Lebanon' do
         
     | 
| 
       1047 
     | 
    
         
            -
                  it_splits '9611123456', %w(961 1 123 456)
         
     | 
| 
       1048 
     | 
    
         
            -
                  it_splits '9614123456', %w(961 4 123 456)
         
     | 
| 
       1049 
     | 
    
         
            -
                  it_splits '9613123456', %w(961 3 123 456)
         
     | 
| 
       1050 
     | 
    
         
            -
                  it_splits '96170123456', %w(961 70 123 456)
         
     | 
| 
       1051 
     | 
    
         
            -
                  it_splits '96190123456', %w(961 90 123 456)
         
     | 
| 
       1052 
     | 
    
         
            -
                  it_splits '96181123456', %w(961 81 123 456)
         
     | 
| 
       1053 
     | 
    
         
            -
                end
         
     | 
| 
       1054 
     | 
    
         
            -
                describe 'Lesotho' do
         
     | 
| 
       1055 
     | 
    
         
            -
                  it_splits '26623592495', ['266', false, '2359', '2495']
         
     | 
| 
       1056 
     | 
    
         
            -
                end
         
     | 
| 
       1057 
     | 
    
         
            -
                describe 'Liberia' do
         
     | 
| 
       1058 
     | 
    
         
            -
                  it_splits '23121234567', ['231', false, '2123', '4567']
         
     | 
| 
       1059 
     | 
    
         
            -
                  it_splits '2314123456', ['231', false, '4123', '456']
         
     | 
| 
       1060 
     | 
    
         
            -
                  it_splits '231771234567', ['231', false, '77', '123', '4567']
         
     | 
| 
       1061 
     | 
    
         
            -
                end
         
     | 
| 
       1062 
     | 
    
         
            -
                describe 'Libya' do
         
     | 
| 
       1063 
     | 
    
         
            -
                  it_splits '21820512345', %w(218 205 123 45)
         
     | 
| 
       1064 
     | 
    
         
            -
                  it_splits '21822123456', %w(218 22 123 456)
         
     | 
| 
       1065 
     | 
    
         
            -
                  it_splits '218211234456', %w(218 21 1234 456)
         
     | 
| 
       1066 
     | 
    
         
            -
                  it_splits '218911234456', %w(218 91 1234 456)
         
     | 
| 
       1067 
     | 
    
         
            -
                  it_splits '218941234456', %w(218 94 1234 456)
         
     | 
| 
       1068 
     | 
    
         
            -
                  it_splits '218951234456', %w(218 95 1234 456)
         
     | 
| 
       1069 
     | 
    
         
            -
                end
         
     | 
| 
       1070 
     | 
    
         
            -
                describe 'Madagascar' do
         
     | 
| 
       1071 
     | 
    
         
            -
                  it_splits '261202254716', ['261', '20', *%w(22 547 16)]
         
     | 
| 
       1072 
     | 
    
         
            -
                  it_splits '261320254716', ['261', '32', *%w(02 547 16)]
         
     | 
| 
       1073 
     | 
    
         
            -
                  it_splits '261330254716', ['261', '33', *%w(02 547 16)]
         
     | 
| 
       1074 
     | 
    
         
            -
                  it_splits '261340254716', ['261', '34', *%w(02 547 16)]
         
     | 
| 
       1075 
     | 
    
         
            -
                end
         
     | 
| 
       1076 
     | 
    
         
            -
                describe 'Malawi' do
         
     | 
| 
       1077 
     | 
    
         
            -
                  it_splits '2651725123', ['265', false, '1725', '123']
         
     | 
| 
       1078 
     | 
    
         
            -
                  it_splits '265213456789',[ '265', false, '213', '456', '789']
         
     | 
| 
       1079 
     | 
    
         
            -
                  it_splits '2659123456', ['265', false, '9123', '456']
         
     | 
| 
       1080 
     | 
    
         
            -
                  it_splits '265991123456', ['265', false, '991', '123', '456']
         
     | 
| 
       1081 
     | 
    
         
            -
                end
         
     | 
| 
       1082 
     | 
    
         
            -
                describe 'Maldives (Republic of)' do
         
     | 
| 
       1083 
     | 
    
         
            -
                  it_splits '9606568279', ['960', '656', '8279']
         
     | 
| 
       1084 
     | 
    
         
            -
                end
         
     | 
| 
       1085 
     | 
    
         
            -
                describe 'Mali' do
         
     | 
| 
       1086 
     | 
    
         
            -
                  it_splits '22379249349', ['223', false, '7924', '9349']
         
     | 
| 
       1087 
     | 
    
         
            -
                end
         
     | 
| 
       1088 
     | 
    
         
            -
                describe 'Marshall Islands (Republic of the)' do
         
     | 
| 
       1089 
     | 
    
         
            -
                  it_splits '6924226536', ['692', false, '422', '6536']
         
     | 
| 
       1090 
     | 
    
         
            -
                end
         
     | 
| 
       1091 
     | 
    
         
            -
                describe 'Martinique (French Department of)' do
         
     | 
| 
       1092 
     | 
    
         
            -
                  it_splits '596596123456', %w(596 596 12 34 56)
         
     | 
| 
       1093 
     | 
    
         
            -
                end
         
     | 
| 
       1094 
     | 
    
         
            -
                describe 'Mauritania' do
         
     | 
| 
       1095 
     | 
    
         
            -
                  it_splits '22212345678', ['222', false, '1234', '5678']
         
     | 
| 
       1096 
     | 
    
         
            -
                end
         
     | 
| 
       1097 
     | 
    
         
            -
                describe 'Mauritius' do
         
     | 
| 
       1098 
     | 
    
         
            -
                  it_splits '23059518919', ['230', false, '5', '951', '8919']
         
     | 
| 
       1099 
     | 
    
         
            -
                  it_splits '2302600070', ['230', false, '260', '0070']
         
     | 
| 
       1100 
     | 
    
         
            -
                end
         
     | 
| 
       1101 
     | 
    
         
            -
                describe 'Micronesia (Federated States of)' do
         
     | 
| 
       1102 
     | 
    
         
            -
                  it_splits '6911991754', ['691', false, '199', '1754']
         
     | 
| 
       1103 
     | 
    
         
            -
                end
         
     | 
| 
       1104 
     | 
    
         
            -
                describe 'Moldova' do
         
     | 
| 
       1105 
     | 
    
         
            -
                  it_splits '37380012345', %w(373 800 123 45)
         
     | 
| 
       1106 
     | 
    
         
            -
                  it_splits '37322123345', %w(373 22 123 345)
         
     | 
| 
       1107 
     | 
    
         
            -
                  it_splits '37324112345', %w(373 241 123 45)
         
     | 
| 
       1108 
     | 
    
         
            -
                  it_splits '37360512345', %w(373 605 123 45)
         
     | 
| 
       1109 
     | 
    
         
            -
                  it_splits '37380312345', %w(373 803 123 45)
         
     | 
| 
       1110 
     | 
    
         
            -
                end
         
     | 
| 
       1111 
     | 
    
         
            -
                describe 'Mongolia' do
         
     | 
| 
       1112 
     | 
    
         
            -
                  it_splits '9761112345', %w(976 11 123 45)
         
     | 
| 
       1113 
     | 
    
         
            -
                  it_splits '9761211234', %w(976 121 12 34)
         
     | 
| 
       1114 
     | 
    
         
            -
                  it_splits '97612112345', %w(976 121 12 345)
         
     | 
| 
       1115 
     | 
    
         
            -
                  it_splits '97670123456', %w(976 70 123 456)
         
     | 
| 
       1116 
     | 
    
         
            -
                  it_splits '97675123456', %w(976 75 123 456)
         
     | 
| 
       1117 
     | 
    
         
            -
                  it_splits '97688123456', %w(976 88 123 456)
         
     | 
| 
       1118 
     | 
    
         
            -
                  it_splits '97650123456', %w(976 50 123 456)
         
     | 
| 
       1119 
     | 
    
         
            -
                end
         
     | 
| 
       1120 
     | 
    
         
            -
                describe 'Mozambique' do
         
     | 
| 
       1121 
     | 
    
         
            -
                  it_splits '258600123456', %w(258 600 123 456)
         
     | 
| 
       1122 
     | 
    
         
            -
                  it_splits '25825112345', %w(258 251 123 45)
         
     | 
| 
       1123 
     | 
    
         
            -
                  it_splits '258821234456', %w(258 82 1234 456)
         
     | 
| 
       1124 
     | 
    
         
            -
                  it_splits '258712344567', %w(258 7 1234 4567)
         
     | 
| 
       1125 
     | 
    
         
            -
                end
         
     | 
| 
       1126 
     | 
    
         
            -
                describe 'Namibia' do
         
     | 
| 
       1127 
     | 
    
         
            -
                  it_splits '264675161324', %w(264 6751 613 24)
         
     | 
| 
       1128 
     | 
    
         
            -
                  it_splits '26467175890', %w(264 67 175 890)
         
     | 
| 
       1129 
     | 
    
         
            -
                  it_splits '26463088612345', %w(264 63 088 612 345)
         
     | 
| 
       1130 
     | 
    
         
            -
                  it_splits '264851234567', %w(264 85 1234 567)
         
     | 
| 
       1131 
     | 
    
         
            -
                end
         
     | 
| 
       1132 
     | 
    
         
            -
                describe 'Nauru (Republic of)' do
         
     | 
| 
       1133 
     | 
    
         
            -
                  it_splits '6741288739', ['674', false, '128', '8739']
         
     | 
| 
       1134 
     | 
    
         
            -
                end
         
     | 
| 
       1135 
     | 
    
         
            -
                describe 'Nepal' do
         
     | 
| 
       1136 
     | 
    
         
            -
                  it_splits '97714345678', %w(977 1 434 5678)
         
     | 
| 
       1137 
     | 
    
         
            -
                  it_splits '97710123456', %w(977 10 123 456)
         
     | 
| 
       1138 
     | 
    
         
            -
                  it_splits '9779812345678', %w(977 98 1234 5678)
         
     | 
| 
       1139 
     | 
    
         
            -
                end
         
     | 
| 
       1140 
     | 
    
         
            -
                describe "New Caledonia (Territoire français d'outre-mer)" do
         
     | 
| 
       1141 
     | 
    
         
            -
                  it_splits '687747184', ['687', false, '747', '184']
         
     | 
| 
       1142 
     | 
    
         
            -
                end
         
     | 
| 
       1143 
     | 
    
         
            -
                describe 'Nicaragua' do
         
     | 
| 
       1144 
     | 
    
         
            -
                  it_splits '50512345678', ['505', '12', '345', '678']
         
     | 
| 
       1145 
     | 
    
         
            -
                end
         
     | 
| 
       1146 
     | 
    
         
            -
                describe 'Niger' do
         
     | 
| 
       1147 
     | 
    
         
            -
                  it_splits '22712345678', ['227', false, '1234', '5678']
         
     | 
| 
       1148 
     | 
    
         
            -
                end
         
     | 
| 
       1149 
     | 
    
         
            -
                describe 'Nigeria' do
         
     | 
| 
       1150 
     | 
    
         
            -
                  it_splits '23411231234', %w(234 1 123 1234) # Lagos
         
     | 
| 
       1151 
     | 
    
         
            -
             
     | 
| 
       1152 
     | 
    
         
            -
                  it_splits '23445123456', %w(234 45 123 456) # Ogoja
         
     | 
| 
       1153 
     | 
    
         
            -
             
     | 
| 
       1154 
     | 
    
         
            -
                  # mobile numbers
         
     | 
| 
       1155 
     | 
    
         
            -
                  it_splits '2347007661234', %w(234 700 766 1234)
         
     | 
| 
       1156 
     | 
    
         
            -
                  it_splits '2347017661234', %w(234 701 766 1234)
         
     | 
| 
       1157 
     | 
    
         
            -
                  it_splits '2347027661234', %w(234 702 766 1234)
         
     | 
| 
       1158 
     | 
    
         
            -
                  it_splits '2347037661234', %w(234 703 766 1234)
         
     | 
| 
       1159 
     | 
    
         
            -
                  it_splits '2347047661234', %w(234 704 766 1234)
         
     | 
| 
       1160 
     | 
    
         
            -
                  it_splits '2347057661234', %w(234 705 766 1234)
         
     | 
| 
       1161 
     | 
    
         
            -
                  it_splits '2347067661234', %w(234 706 766 1234)
         
     | 
| 
       1162 
     | 
    
         
            -
                  it_splits '2347077661234', %w(234 707 766 1234)
         
     | 
| 
       1163 
     | 
    
         
            -
                  it_splits '2347087661234', %w(234 708 766 1234)
         
     | 
| 
       1164 
     | 
    
         
            -
                  it_splits '2347097661234', %w(234 709 766 1234)
         
     | 
| 
       1165 
     | 
    
         
            -
             
     | 
| 
       1166 
     | 
    
         
            -
                  it_splits '2348007661234', %w(234 800 766 1234)
         
     | 
| 
       1167 
     | 
    
         
            -
                  it_splits '2348017661234', %w(234 801 766 1234)
         
     | 
| 
       1168 
     | 
    
         
            -
                  it_splits '2348027661234', %w(234 802 766 1234)
         
     | 
| 
       1169 
     | 
    
         
            -
                  it_splits '2348037661234', %w(234 803 766 1234)
         
     | 
| 
       1170 
     | 
    
         
            -
                  it_splits '2348047661234', %w(234 804 766 1234)
         
     | 
| 
       1171 
     | 
    
         
            -
                  it_splits '2348057661234', %w(234 805 766 1234)
         
     | 
| 
       1172 
     | 
    
         
            -
                  it_splits '2348067661234', %w(234 806 766 1234)
         
     | 
| 
       1173 
     | 
    
         
            -
                  it_splits '2348077661234', %w(234 807 766 1234)
         
     | 
| 
       1174 
     | 
    
         
            -
                  it_splits '2348087661234', %w(234 808 766 1234)
         
     | 
| 
       1175 
     | 
    
         
            -
                  it_splits '2348097661234', %w(234 809 766 1234)
         
     | 
| 
       1176 
     | 
    
         
            -
             
     | 
| 
       1177 
     | 
    
         
            -
                  it_splits '2349007661234', %w(234 900 766 1234)
         
     | 
| 
       1178 
     | 
    
         
            -
                  it_splits '2349017661234', %w(234 901 766 1234)
         
     | 
| 
       1179 
     | 
    
         
            -
                  it_splits '2349027661234', %w(234 902 766 1234)
         
     | 
| 
       1180 
     | 
    
         
            -
                  it_splits '2349037661234', %w(234 903 766 1234)
         
     | 
| 
       1181 
     | 
    
         
            -
                  it_splits '2349047661234', %w(234 904 766 1234)
         
     | 
| 
       1182 
     | 
    
         
            -
                  it_splits '2349057661234', %w(234 905 766 1234)
         
     | 
| 
       1183 
     | 
    
         
            -
                  it_splits '2349067661234', %w(234 906 766 1234)
         
     | 
| 
       1184 
     | 
    
         
            -
                  it_splits '2349077661234', %w(234 907 766 1234)
         
     | 
| 
       1185 
     | 
    
         
            -
                  it_splits '2349087661234', %w(234 908 766 1234)
         
     | 
| 
       1186 
     | 
    
         
            -
                  it_splits '2349097661234', %w(234 909 766 1234)
         
     | 
| 
       1187 
     | 
    
         
            -
             
     | 
| 
       1188 
     | 
    
         
            -
                  it_splits '2349107661234', %w(234 910 766 1234)
         
     | 
| 
       1189 
     | 
    
         
            -
                  it_splits '2349117661234', %w(234 911 766 1234)
         
     | 
| 
       1190 
     | 
    
         
            -
                  it_splits '2349127661234', %w(234 912 766 1234)
         
     | 
| 
       1191 
     | 
    
         
            -
                  it_splits '2349137661234', %w(234 913 766 1234)
         
     | 
| 
       1192 
     | 
    
         
            -
                  it_splits '2349147661234', %w(234 914 766 1234)
         
     | 
| 
       1193 
     | 
    
         
            -
                  it_splits '2349157661234', %w(234 915 766 1234)
         
     | 
| 
       1194 
     | 
    
         
            -
                  it_splits '2349167661234', %w(234 916 766 1234)
         
     | 
| 
       1195 
     | 
    
         
            -
                  it_splits '2349177661234', %w(234 917 766 1234)
         
     | 
| 
       1196 
     | 
    
         
            -
                  it_splits '2349187661234', %w(234 918 766 1234)
         
     | 
| 
       1197 
     | 
    
         
            -
                  it_splits '2349197661234', %w(234 919 766 1234)
         
     | 
| 
       1198 
     | 
    
         
            -
             
     | 
| 
       1199 
     | 
    
         
            -
                  it_splits '2348107661234', %w(234 810 766 1234)
         
     | 
| 
       1200 
     | 
    
         
            -
                  it_splits '2348117661234', %w(234 811 766 1234)
         
     | 
| 
       1201 
     | 
    
         
            -
                  it_splits '2348127661234', %w(234 812 766 1234)
         
     | 
| 
       1202 
     | 
    
         
            -
                  it_splits '2348137661234', %w(234 813 766 1234)
         
     | 
| 
       1203 
     | 
    
         
            -
                  it_splits '2348147661234', %w(234 814 766 1234)
         
     | 
| 
       1204 
     | 
    
         
            -
                  it_splits '2348157661234', %w(234 815 766 1234)
         
     | 
| 
       1205 
     | 
    
         
            -
                  it_splits '2348167661234', %w(234 816 766 1234)
         
     | 
| 
       1206 
     | 
    
         
            -
                  it_splits '2348177661234', %w(234 817 766 1234)
         
     | 
| 
       1207 
     | 
    
         
            -
                  it_splits '2348187661234', %w(234 818 766 1234)
         
     | 
| 
       1208 
     | 
    
         
            -
                  it_splits '2348197661234', %w(234 819 766 1234)
         
     | 
| 
       1209 
     | 
    
         
            -
                end
         
     | 
| 
       1210 
     | 
    
         
            -
                describe 'Niue' do
         
     | 
| 
       1211 
     | 
    
         
            -
                  it_splits '6833651', ['683', false, '3651']
         
     | 
| 
       1212 
     | 
    
         
            -
                end
         
     | 
| 
       1213 
     | 
    
         
            -
                describe 'Palau (Republic of)' do
         
     | 
| 
       1214 
     | 
    
         
            -
                  it_splits '6804873653', ['680', false, '487', '3653']
         
     | 
| 
       1215 
     | 
    
         
            -
                end
         
     | 
| 
       1216 
     | 
    
         
            -
                describe 'Panama (Republic of)' do
         
     | 
| 
       1217 
     | 
    
         
            -
                  it_splits '5078001234', %w(507 800 1234)
         
     | 
| 
       1218 
     | 
    
         
            -
                  it_splits '50761234567', %w(507 6 123 4567)
         
     | 
| 
       1219 
     | 
    
         
            -
                  it_splits '5072123456', %w(507 2 123 456)
         
     | 
| 
       1220 
     | 
    
         
            -
                end
         
     | 
| 
       1221 
     | 
    
         
            -
                describe 'Papua New Guinea' do
         
     | 
| 
       1222 
     | 
    
         
            -
                  it_splits '6753123567', %w(675 3 123 567)
         
     | 
| 
       1223 
     | 
    
         
            -
                  it_splits '6751801234', %w(675 180 1234)
         
     | 
| 
       1224 
     | 
    
         
            -
                  it_splits '67580123456', %w(675 80 123 456)
         
     | 
| 
       1225 
     | 
    
         
            -
                  it_splits '67591123456', %w(675 91 123 456)
         
     | 
| 
       1226 
     | 
    
         
            -
                  it_splits '6751612345', %w(675 16 123 45)
         
     | 
| 
       1227 
     | 
    
         
            -
                  it_splits '67518412345678', %w(675 184 1234 5678)
         
     | 
| 
       1228 
     | 
    
         
            -
                  it_splits '67517012', %w(675 170 12)
         
     | 
| 
       1229 
     | 
    
         
            -
                  it_splits '6751891', %w(675 189 1)
         
     | 
| 
       1230 
     | 
    
         
            -
                  it_splits '6752701234', %w(675 270 1234)
         
     | 
| 
       1231 
     | 
    
         
            -
                  it_splits '6752751234', %w(675 275 1234)
         
     | 
| 
       1232 
     | 
    
         
            -
                  it_splits '67527912', %w(675 279 12)
         
     | 
| 
       1233 
     | 
    
         
            -
                  it_splits '67511512345678', %w(675 115 1234 5678)
         
     | 
| 
       1234 
     | 
    
         
            -
                  it_splits '67574123456', %w(675 74 123 456)
         
     | 
| 
       1235 
     | 
    
         
            -
                  it_splits '67573123456', %w(675 731 23 456)
         
     | 
| 
       1236 
     | 
    
         
            -
                  it_splits '67577301234', %w(675 7730 1 234)
         
     | 
| 
       1237 
     | 
    
         
            -
                end
         
     | 
| 
       1238 
     | 
    
         
            -
                describe 'Reunion / Mayotte (new)' do
         
     | 
| 
       1239 
     | 
    
         
            -
                  it_splits '262594399265', ['262', '594', '39', '92', '65']
         
     | 
| 
       1240 
     | 
    
         
            -
                end
         
     | 
| 
       1241 
     | 
    
         
            -
                describe 'Saint Helena' do
         
     | 
| 
       1242 
     | 
    
         
            -
                  it_splits '2903614', ['290', false, '3614']
         
     | 
| 
       1243 
     | 
    
         
            -
                end
         
     | 
| 
       1244 
     | 
    
         
            -
                describe 'Saint Pierre and Miquelon (Collectivité territoriale de la République française)' do
         
     | 
| 
       1245 
     | 
    
         
            -
                  it_splits '508418826', ['508', false, '418', '826']
         
     | 
| 
       1246 
     | 
    
         
            -
                end
         
     | 
| 
       1247 
     | 
    
         
            -
                describe 'Samoa (Independent State of)' do
         
     | 
| 
       1248 
     | 
    
         
            -
                  it_splits '685800123', ['685', false, '800', '123']
         
     | 
| 
       1249 
     | 
    
         
            -
                  it_splits '68561123', ['685', false, '61', '123']
         
     | 
| 
       1250 
     | 
    
         
            -
                  it_splits '6857112345', ['685', false, '711', '2345']
         
     | 
| 
       1251 
     | 
    
         
            -
                  it_splits '6857212345', ['685', false, '721', '2345']
         
     | 
| 
       1252 
     | 
    
         
            -
                  it_splits '685830123', ['685', false, '830', '123']
         
     | 
| 
       1253 
     | 
    
         
            -
                  it_splits '685601234', ['685', false, '601', '234']
         
     | 
| 
       1254 
     | 
    
         
            -
                  it_splits '6858412345', ['685', false, '841', '2345']
         
     | 
| 
       1255 
     | 
    
         
            -
                end
         
     | 
| 
       1256 
     | 
    
         
            -
                describe 'San Marino' do
         
     | 
| 
       1257 
     | 
    
         
            -
                  it_splits '378800123', ['378', false, '800', '123']
         
     | 
| 
       1258 
     | 
    
         
            -
                  it_splits '3788001234567', ['378', false, '800', '123', '4567']
         
     | 
| 
       1259 
     | 
    
         
            -
                  it_splits '378012345', ['378', false, '012', '345']
         
     | 
| 
       1260 
     | 
    
         
            -
                  it_splits '3780123456789', ['378', false, '012', '345', '6789']
         
     | 
| 
       1261 
     | 
    
         
            -
                  it_splits '378512345', ['378', false, '512', '345']
         
     | 
| 
       1262 
     | 
    
         
            -
                  it_splits '3785123456789', ['378', false, '512', '345', '6789']
         
     | 
| 
       1263 
     | 
    
         
            -
                end
         
     | 
| 
       1264 
     | 
    
         
            -
                describe 'Saudi Arabia (Kingdom of)' do
         
     | 
| 
       1265 
     | 
    
         
            -
                  it_splits '9660208528423', %w(966 020 852 8423) # Fixed
         
     | 
| 
       1266 
     | 
    
         
            -
                  it_splits '966506306201',  %w(966 50 630 6201)  # NDC Mobile
         
     | 
| 
       1267 
     | 
    
         
            -
                  it_splits '966112345678',  %w(966 11 234 5678)  # NDC Region
         
     | 
| 
       1268 
     | 
    
         
            -
                  it_splits '9668001234567', %w(966 800 123 4567) # Toll Free
         
     | 
| 
       1269 
     | 
    
         
            -
                  it_splits '966920012345',  %w(966 9200 12345)   # Univeral Access
         
     | 
| 
       1270 
     | 
    
         
            -
                end
         
     | 
| 
       1271 
     | 
    
         
            -
                describe 'Senegal' do
         
     | 
| 
       1272 
     | 
    
         
            -
                  it_splits '221123456789', ['221', false, '1234', '56789']
         
     | 
| 
       1273 
     | 
    
         
            -
                end
         
     | 
| 
       1274 
     | 
    
         
            -
                describe 'Serbia' do
         
     | 
| 
       1275 
     | 
    
         
            -
                  it_splits '38180012345', %w(381 800 123 45)
         
     | 
| 
       1276 
     | 
    
         
            -
                  it_splits '3811012345', %w(381 10 123 45)
         
     | 
| 
       1277 
     | 
    
         
            -
                  it_splits '38110123456', %w(381 10 123 456)
         
     | 
| 
       1278 
     | 
    
         
            -
                  it_splits '38111123456', %w(381 11 123 456)
         
     | 
| 
       1279 
     | 
    
         
            -
                  it_splits '381111234567', %w(381 11 123 4567)
         
     | 
| 
       1280 
     | 
    
         
            -
                  it_splits '381721234567', %w(381 72 123 4567)
         
     | 
| 
       1281 
     | 
    
         
            -
                  it_splits '38160123', %w(381 60 123)
         
     | 
| 
       1282 
     | 
    
         
            -
                  it_splits '381601234567', %w(381 60 123 4567)
         
     | 
| 
       1283 
     | 
    
         
            -
                  it_splits '38142123456', %w(381 42 123 456)
         
     | 
| 
       1284 
     | 
    
         
            -
                  it_splits '38191234567', %w(381 9 123 4567)
         
     | 
| 
       1285 
     | 
    
         
            -
                  it_splits '38160123', %w(381 60 123)
         
     | 
| 
       1286 
     | 
    
         
            -
                  it_splits '381601234567890', %w(381 60 123 456 7890)
         
     | 
| 
       1287 
     | 
    
         
            -
                  it_splits '38170123456', %w(381 70 123 456)
         
     | 
| 
       1288 
     | 
    
         
            -
                  it_splits '38163123456', %w(381 63 123 456)
         
     | 
| 
       1289 
     | 
    
         
            -
                end
         
     | 
| 
       1290 
     | 
    
         
            -
                describe 'Sierra Leone' do
         
     | 
| 
       1291 
     | 
    
         
            -
                  it_splits '23264629769', %w(232 64 629 769)
         
     | 
| 
       1292 
     | 
    
         
            -
                end
         
     | 
| 
       1293 
     | 
    
         
            -
                describe 'Solomon Islands' do
         
     | 
| 
       1294 
     | 
    
         
            -
                  it_splits '67754692', ['677', false, '54', '692']
         
     | 
| 
       1295 
     | 
    
         
            -
                  it_splits '6777546921', ['677', false, '7546', '921']
         
     | 
| 
       1296 
     | 
    
         
            -
                end
         
     | 
| 
       1297 
     | 
    
         
            -
                describe 'Somalia' do
         
     | 
| 
       1298 
     | 
    
         
            -
                  it_splits '252103412345', %w(252 1034 123 45)
         
     | 
| 
       1299 
     | 
    
         
            -
                  it_splits '2521313123', %w(252 1313 123)
         
     | 
| 
       1300 
     | 
    
         
            -
                  it_splits '2521601234', %w(252 160 12 34)
         
     | 
| 
       1301 
     | 
    
         
            -
                  it_splits '25250012345', %w(252 500 123 45)
         
     | 
| 
       1302 
     | 
    
         
            -
                  it_splits '252612345678', %w(252 61 234 5678) # Hormuud
         
     | 
| 
       1303 
     | 
    
         
            -
                  it_splits '252622345678', %w(252 62 234 5678) # Somtel Mogadishu
         
     | 
| 
       1304 
     | 
    
         
            -
                  it_splits '252634000613', %w(252 63 400 0613) # Telesom
         
     | 
| 
       1305 
     | 
    
         
            -
                  it_splits '252642345678', %w(252 64 234 5678) # Hormuud
         
     | 
| 
       1306 
     | 
    
         
            -
                  it_splits '252652345678', %w(252 65 234 5678) # Somtel
         
     | 
| 
       1307 
     | 
    
         
            -
                  it_splits '252662345678', %w(252 66 234 5678) # Somtel Puntland
         
     | 
| 
       1308 
     | 
    
         
            -
                  it_splits '252672345678', %w(252 67 234 5678) # Nationlink Mogadishu
         
     | 
| 
       1309 
     | 
    
         
            -
                  it_splits '252682345678', %w(252 68 234 5678) # Nationlink Mogadishu
         
     | 
| 
       1310 
     | 
    
         
            -
                  it_splits '252692345678', %w(252 69 234 5678) # Nationlink
         
     | 
| 
       1311 
     | 
    
         
            -
                  it_splits '252902345678', %w(252 90 234 5678) # Golis
         
     | 
| 
       1312 
     | 
    
         
            -
                end
         
     | 
| 
       1313 
     | 
    
         
            -
             
     | 
| 
       1314 
     | 
    
         
            -
                describe 'Suriname (Republic of)' do
         
     | 
| 
       1315 
     | 
    
         
            -
                  it_splits '597958434', ['597', false, '958', '434']
         
     | 
| 
       1316 
     | 
    
         
            -
             
     | 
| 
       1317 
     | 
    
         
            -
                  it_splits  '597212345',  ['597', false, '212', '345']
         
     | 
| 
       1318 
     | 
    
         
            -
                  it_splits  '5976123456', ['597', false, '612', '3456']
         
     | 
| 
       1319 
     | 
    
         
            -
                end
         
     | 
| 
       1320 
     | 
    
         
            -
                describe 'Swaziland' do
         
     | 
| 
       1321 
     | 
    
         
            -
                  it_splits '26822071234', ['268', false, '2207', '1234']
         
     | 
| 
       1322 
     | 
    
         
            -
                  it_splits '2685501234', ['268', false, '550', '1234']
         
     | 
| 
       1323 
     | 
    
         
            -
                end
         
     | 
| 
       1324 
     | 
    
         
            -
                describe 'Syrian Arab Republic' do
         
     | 
| 
       1325 
     | 
    
         
            -
                  it_splits '963111234567', %w(963 11 123 4567)
         
     | 
| 
       1326 
     | 
    
         
            -
                  it_splits '963311234567', %w(963 31 123 4567)
         
     | 
| 
       1327 
     | 
    
         
            -
                  it_splits '96315731234', %w(963 15 731 234)
         
     | 
| 
       1328 
     | 
    
         
            -
                  it_splits '963912345678', %w(963 9 1234 5678)
         
     | 
| 
       1329 
     | 
    
         
            -
                end
         
     | 
| 
       1330 
     | 
    
         
            -
                describe 'Taiwan' do
         
     | 
| 
       1331 
     | 
    
         
            -
                  it_splits '886212345678', %w(886 2 1234 5678)
         
     | 
| 
       1332 
     | 
    
         
            -
                  it_splits '88631234567', %w(886 3 123 4567)
         
     | 
| 
       1333 
     | 
    
         
            -
                  it_splits '88651234567', %w(886 5 123 4567)
         
     | 
| 
       1334 
     | 
    
         
            -
                  it_splits '88661234567', %w(886 6 123 4567)
         
     | 
| 
       1335 
     | 
    
         
            -
                  it_splits '88671234567', %w(886 7 123 4567)
         
     | 
| 
       1336 
     | 
    
         
            -
                  it_splits '88633123456', %w(886 3 312 3456)
         
     | 
| 
       1337 
     | 
    
         
            -
                  it_splits '88637123456', %w(886 37 12 3456)
         
     | 
| 
       1338 
     | 
    
         
            -
                  it_splits '88682712345', %w(886 82 71 2345)
         
     | 
| 
       1339 
     | 
    
         
            -
                  it_splits '886801123123', %w(886 801 123 123)
         
     | 
| 
       1340 
     | 
    
         
            -
                  it_splits '88689712345', %w(886 89 71 2345)
         
     | 
| 
       1341 
     | 
    
         
            -
                  it_splits '88682672345', %w(886 826 7 2345)
         
     | 
| 
       1342 
     | 
    
         
            -
                  it_splits '88683672345', %w(886 836 7 2345)
         
     | 
| 
       1343 
     | 
    
         
            -
                  it_splits '88641212345', %w(886 4 121 2345)
         
     | 
| 
       1344 
     | 
    
         
            -
                  it_splits '886412123456', %w(886 4 1212 3456)
         
     | 
| 
       1345 
     | 
    
         
            -
                  it_splits '886491234567', %w(886 49 123 4567)
         
     | 
| 
       1346 
     | 
    
         
            -
                  it_splits '886901234567', %w(886 901 234 567)
         
     | 
| 
       1347 
     | 
    
         
            -
                end
         
     | 
| 
       1348 
     | 
    
         
            -
                describe 'Togolese Republic' do
         
     | 
| 
       1349 
     | 
    
         
            -
                  it_splits '22812345678', ['228', false, '1234', '5678']
         
     | 
| 
       1350 
     | 
    
         
            -
                end
         
     | 
| 
       1351 
     | 
    
         
            -
                describe 'Tajikistan' do
         
     | 
| 
       1352 
     | 
    
         
            -
                  it_splits '992313012345', %w(992 3130 123 45)
         
     | 
| 
       1353 
     | 
    
         
            -
                  it_splits '992331700123', %w(992 331700 123)
         
     | 
| 
       1354 
     | 
    
         
            -
                  it_splits '992372123345', %w(992 372 123 345)
         
     | 
| 
       1355 
     | 
    
         
            -
                  it_splits '992505123456', %w(992 505 123 456)
         
     | 
| 
       1356 
     | 
    
         
            -
                  it_splits '992973123456', %w(992 973 123 456)
         
     | 
| 
       1357 
     | 
    
         
            -
                  it_splits '992474456123', %w(992 474 456 123)
         
     | 
| 
       1358 
     | 
    
         
            -
                end
         
     | 
| 
       1359 
     | 
    
         
            -
                describe 'Tokelau' do
         
     | 
| 
       1360 
     | 
    
         
            -
                  it_splits '6901371', %w(690 1 371)
         
     | 
| 
       1361 
     | 
    
         
            -
                end
         
     | 
| 
       1362 
     | 
    
         
            -
                describe 'Tonga (Kingdom of)' do
         
     | 
| 
       1363 
     | 
    
         
            -
                  it_splits '67620123', ['676', false, '20', '123']
         
     | 
| 
       1364 
     | 
    
         
            -
                  it_splits '67684123', ['676', false, '84', '123']
         
     | 
| 
       1365 
     | 
    
         
            -
                  it_splits '6767712345', ['676', false, '77', '123', '45']
         
     | 
| 
       1366 
     | 
    
         
            -
                  it_splits '6768912345', ['676', false, '89', '123', '45']
         
     | 
| 
       1367 
     | 
    
         
            -
                end
         
     | 
| 
       1368 
     | 
    
         
            -
                describe 'Tuvalu' do
         
     | 
| 
       1369 
     | 
    
         
            -
                  it_splits '68893741', ['688', false, '93741']
         
     | 
| 
       1370 
     | 
    
         
            -
                end
         
     | 
| 
       1371 
     | 
    
         
            -
                describe 'Turkmenistan' do
         
     | 
| 
       1372 
     | 
    
         
            -
                  it_splits '99312456789', %w(993 12 456 789)
         
     | 
| 
       1373 
     | 
    
         
            -
                  it_splits '99313145678', %w(993 131 456 78)
         
     | 
| 
       1374 
     | 
    
         
            -
                  it_splits '99313924567', %w(993 1392 4567)
         
     | 
| 
       1375 
     | 
    
         
            -
                  it_splits '99361234567', %w(993 6 123 4567)
         
     | 
| 
       1376 
     | 
    
         
            -
                end
         
     | 
| 
       1377 
     | 
    
         
            -
                describe 'Ukraine' do
         
     | 
| 
       1378 
     | 
    
         
            -
                  it_splits '380800123456', %w(380 800 123 456)
         
     | 
| 
       1379 
     | 
    
         
            -
                  it_splits '380312123456', %w(380 312 123 456)
         
     | 
| 
       1380 
     | 
    
         
            -
                  it_splits '380320123456', %w(380 32 0123 456)
         
     | 
| 
       1381 
     | 
    
         
            -
                  it_splits '380325912345', %w(380 3259 123 45)
         
     | 
| 
       1382 
     | 
    
         
            -
                  it_splits '380326061234', %w(380 32606 1234)
         
     | 
| 
       1383 
     | 
    
         
            -
                  it_splits '380391234567', %w(380 39 123 45 67)
         
     | 
| 
       1384 
     | 
    
         
            -
                  it_splits '380501234567', %w(380 50 123 45 67)
         
     | 
| 
       1385 
     | 
    
         
            -
                  it_splits '380631234567', %w(380 63 123 45 67)
         
     | 
| 
       1386 
     | 
    
         
            -
                  it_splits '380661234567', %w(380 66 123 45 67)
         
     | 
| 
       1387 
     | 
    
         
            -
                  it_splits '380671234567', %w(380 67 123 45 67)
         
     | 
| 
       1388 
     | 
    
         
            -
                  it_splits '380681234567', %w(380 68 123 45 67)
         
     | 
| 
       1389 
     | 
    
         
            -
                  it_splits '380911234567', %w(380 91 123 45 67)
         
     | 
| 
       1390 
     | 
    
         
            -
                  it_splits '380921234567', %w(380 92 123 45 67)
         
     | 
| 
       1391 
     | 
    
         
            -
                  it_splits '380931234567', %w(380 93 123 45 67)
         
     | 
| 
       1392 
     | 
    
         
            -
                  it_splits '380731234567', %w(380 73 123 45 67)
         
     | 
| 
       1393 
     | 
    
         
            -
                  it_splits '380941234567', %w(380 94 123 45 67)
         
     | 
| 
       1394 
     | 
    
         
            -
                  it_splits '380951234567', %w(380 95 123 45 67)
         
     | 
| 
       1395 
     | 
    
         
            -
                  it_splits '380961234567', %w(380 96 123 45 67)
         
     | 
| 
       1396 
     | 
    
         
            -
                  it_splits '380971234567', %w(380 97 123 45 67)
         
     | 
| 
       1397 
     | 
    
         
            -
                  it_splits '380981234567', %w(380 98 123 45 67)
         
     | 
| 
       1398 
     | 
    
         
            -
                  it_splits '380991234567', %w(380 99 123 45 67)
         
     | 
| 
       1399 
     | 
    
         
            -
                end
         
     | 
| 
       1400 
     | 
    
         
            -
                describe 'United Arab Emirates' do
         
     | 
| 
       1401 
     | 
    
         
            -
                  it_splits '97180012', %w(971 800 12)
         
     | 
| 
       1402 
     | 
    
         
            -
                  it_splits '971800123456789', %w(971 800 12 345 6789)
         
     | 
| 
       1403 
     | 
    
         
            -
                  it_splits '97180012345678', %w(971 800 12 345 678)
         
     | 
| 
       1404 
     | 
    
         
            -
                  it_splits '9718001234567', %w(971 800 12 345 67)
         
     | 
| 
       1405 
     | 
    
         
            -
                  it_splits '97121234567', %w(971 2 123 4567)
         
     | 
| 
       1406 
     | 
    
         
            -
                  it_splits '971506412345', %w(971 50 641 2345)
         
     | 
| 
       1407 
     | 
    
         
            -
                  it_splits '971600641234', %w(971 600 641 234)
         
     | 
| 
       1408 
     | 
    
         
            -
                  it_splits '971500641234', %w(971 500 641 234)
         
     | 
| 
       1409 
     | 
    
         
            -
                  it_splits '971200641234', %w(971 200 641 234)
         
     | 
| 
       1410 
     | 
    
         
            -
                  it_splits '971549999999', %w(971 54 999 9999)
         
     | 
| 
       1411 
     | 
    
         
            -
                  it_splits '971589999999', %w(971 58 999 9999)
         
     | 
| 
       1412 
     | 
    
         
            -
                end
         
     | 
| 
       1413 
     | 
    
         
            -
                describe 'Uruguay (Eastern Republic of)' do
         
     | 
| 
       1414 
     | 
    
         
            -
                  it_splits '59880012345', %w(598 800 123 45)
         
     | 
| 
       1415 
     | 
    
         
            -
                  it_splits '59820123456', %w(598 2 012 3456)
         
     | 
| 
       1416 
     | 
    
         
            -
                  it_splits '59821123456', %w(598 21 123 456)
         
     | 
| 
       1417 
     | 
    
         
            -
                  it_splits '59890912345', %w(598 909 123 45)
         
     | 
| 
       1418 
     | 
    
         
            -
                  it_splits '59893123456', %w(598 93 123 456)
         
     | 
| 
       1419 
     | 
    
         
            -
                  it_splits '59890812345', %w(598 908 123 45)
         
     | 
| 
       1420 
     | 
    
         
            -
                  it_splits '59880512345', %w(598 805 123 45)
         
     | 
| 
       1421 
     | 
    
         
            -
                end
         
     | 
| 
       1422 
     | 
    
         
            -
                describe 'Uzbekistan (Republic of)' do
         
     | 
| 
       1423 
     | 
    
         
            -
                  it_splits '998433527869', %w(998 43 352 7869)
         
     | 
| 
       1424 
     | 
    
         
            -
                end
         
     | 
| 
       1425 
     | 
    
         
            -
                describe 'Vanuatu (Republic of)' do
         
     | 
| 
       1426 
     | 
    
         
            -
                  it_splits '67889683', ['678', false, '89', '683']
         
     | 
| 
       1427 
     | 
    
         
            -
                end
         
     | 
| 
       1428 
     | 
    
         
            -
                describe 'Yemen' do
         
     | 
| 
       1429 
     | 
    
         
            -
                  it_splits '9671234567', %w(967 1 234 567)
         
     | 
| 
       1430 
     | 
    
         
            -
                  it_splits '96712345678', %w(967 1 234 5678)
         
     | 
| 
       1431 
     | 
    
         
            -
                  it_splits '9677234567', %w(967 7 234 567)
         
     | 
| 
       1432 
     | 
    
         
            -
                  it_splits '967771234567', %w(967 77 123 4567)
         
     | 
| 
       1433 
     | 
    
         
            -
                  it_splits '967581234', %w(967 58 1234)
         
     | 
| 
       1434 
     | 
    
         
            -
                end
         
     | 
| 
       1435 
     | 
    
         
            -
                describe 'Zimbabwe' do
         
     | 
| 
       1436 
     | 
    
         
            -
                  it_splits  '2632582123456', %w(263 2582 123 456)
         
     | 
| 
       1437 
     | 
    
         
            -
                  it_splits  '2632582123', %w(263 2582 123)
         
     | 
| 
       1438 
     | 
    
         
            -
                  it_splits  '263147123456', %w(263 147 123 456)
         
     | 
| 
       1439 
     | 
    
         
            -
                  it_splits  '263147123', %w(263 147 123)
         
     | 
| 
       1440 
     | 
    
         
            -
                  it_splits  '263270123456', %w(263 270 123 456)
         
     | 
| 
       1441 
     | 
    
         
            -
                  it_splits  '26327012345', %w(263 270 123 45)
         
     | 
| 
       1442 
     | 
    
         
            -
                  it_splits  '2638612354567', %w(263 86 1235 4567)
         
     | 
| 
       1443 
     | 
    
         
            -
             
     | 
| 
       1444 
     | 
    
         
            -
                  # mobile numbers (see http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000E90002PDFE.pdf, Table 4, Page 25)
         
     | 
| 
       1445 
     | 
    
         
            -
                  %w(71 73 77 78).each do |prefix|
         
     | 
| 
       1446 
     | 
    
         
            -
                    number = "263#{prefix}2345678"
         
     | 
| 
       1447 
     | 
    
         
            -
                    it_splits  number, ['263', prefix, '234', '5678']
         
     | 
| 
       1448 
     | 
    
         
            -
                  end
         
     | 
| 
       1449 
     | 
    
         
            -
                end
         
     | 
| 
       1450 
     | 
    
         
            -
             
     | 
| 
       1451 
     | 
    
         
            -
                describe 'Universal International Freephone' do
         
     | 
| 
       1452 
     | 
    
         
            -
                  it_splits '80012345678', ['800', false, '12345678']
         
     | 
| 
       1453 
     | 
    
         
            -
                end
         
     | 
| 
       1454 
     | 
    
         
            -
             
     | 
| 
       1455 
     | 
    
         
            -
                describe 'Shared-Cost Service' do
         
     | 
| 
       1456 
     | 
    
         
            -
                  it_splits '80812345678', ['808', false, '12345678']
         
     | 
| 
       1457 
     | 
    
         
            -
                end
         
     | 
| 
       1458 
     | 
    
         
            -
              end
         
     | 
| 
       1459 
     | 
    
         
            -
             
     | 
| 
       1460 
     | 
    
         
            -
            end
         
     |