@@ -77,6 +77,7 @@ def insert_test_metadata():
7777GB_NUMBER = FrozenPhoneNumber (country_code = 44 , national_number = 2070313000L )
7878IT_MOBILE = FrozenPhoneNumber (country_code = 39 , national_number = 345678901L )
7979IT_NUMBER = FrozenPhoneNumber (country_code = 39 , national_number = 236618300L , italian_leading_zero = True )
80+ JP_STAR_NUMBER = FrozenPhoneNumber (country_code = 81 , national_number = 2345L )
8081# Numbers to test the formatting rules from Mexico.
8182MX_MOBILE1 = FrozenPhoneNumber (country_code = 52 , national_number = 12345678900L )
8283MX_MOBILE2 = FrozenPhoneNumber (country_code = 52 , national_number = 15512345678L )
@@ -594,7 +595,8 @@ def testFormatNumberForMobileDialing(self):
594595 # US toll free numbers are marked as noInternationalDialling in the
595596 # test metadata for testing purposes.
596597 self .assertEqual ("800 253 0000" ,
597- phonenumbers .format_number_for_mobile_dialing (US_TOLLFREE , "US" , True ))
598+ phonenumbers .format_number_for_mobile_dialing (US_TOLLFREE , "US" ,
599+ True )) # Keep formatting
598600 self .assertEqual ("" , phonenumbers .format_number_for_mobile_dialing (US_TOLLFREE , "CN" , True ))
599601 self .assertEqual ("+1 650 253 0000" ,
600602 phonenumbers .format_number_for_mobile_dialing (US_NUMBER , "US" , True ))
@@ -604,12 +606,27 @@ def testFormatNumberForMobileDialing(self):
604606 self .assertEqual ("+1 650 253 0000" ,
605607 phonenumbers .format_number_for_mobile_dialing (usNumberWithExtn , "US" , True ))
606608 self .assertEqual ("8002530000" ,
607- phonenumbers .format_number_for_mobile_dialing (US_TOLLFREE , "US" , False ))
609+ phonenumbers .format_number_for_mobile_dialing (US_TOLLFREE , "US" ,
610+ False )) # Remove formatting
608611 self .assertEqual ("" , phonenumbers .format_number_for_mobile_dialing (US_TOLLFREE , "CN" , False ))
609612 self .assertEqual ("+16502530000" ,
610613 phonenumbers .format_number_for_mobile_dialing (US_NUMBER , "US" , False ))
611614 self .assertEqual ("+16502530000" ,
612615 phonenumbers .format_number_for_mobile_dialing (usNumberWithExtn , "US" , False ))
616+
617+ # An invalid US number, which is one digit too long.
618+ self .assertEqual ("+165025300001" ,
619+ phonenumbers .format_number_for_mobile_dialing (US_LONG_NUMBER , "US" , False ))
620+ self .assertEqual ("+1 65025300001" ,
621+ phonenumbers .format_number_for_mobile_dialing (US_LONG_NUMBER , "US" , True ))
622+
623+ # Star numbers. In real life they appear in Israel, but we have them
624+ # in JP in our test metadata.
625+ self .assertEqual ("*2345" ,
626+ phonenumbers .format_number_for_mobile_dialing (JP_STAR_NUMBER , "JP" , False ))
627+ self .assertEqual ("*2345" ,
628+ phonenumbers .format_number_for_mobile_dialing (JP_STAR_NUMBER , "JP" , True ))
629+
613630 # Python version extra tests
614631 number = PhoneNumber ()
615632 number .merge_from (XY_NUMBER )
@@ -720,6 +737,11 @@ def testFormatUsingOriginalNumberFormat(self):
720737 number7 = phonenumbers .parse ("7345678901" , "US" )
721738 self .assertEqual ("734 567 8901" , phonenumbers .format_in_original_format (number7 , "US" ))
722739
740+ # This number is valid, but we don't have a formatting pattern for
741+ # it. Fall back to the raw input.
742+ number8 = phonenumbers .parse ("02-4567-8900" , "KR" , keep_raw_input = True )
743+ self .assertEqual ("02-4567-8900" , phonenumbers .format_in_original_format (number8 , "KR" ))
744+
723745 # Python version extra tests
724746 number8 = phonenumbers .parse ("87654321" , None , keep_raw_input = True , _check_region = False )
725747 self .assertEqual ("87654321" , phonenumbers .format_in_original_format (number8 , "US" ))
0 commit comments