Skip to content

Commit c91d18e

Browse files
committed
Merge code changes from upstream r524
1 parent 9dc32da commit c91d18e

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

python/phonenumbers/asyoutypeformatter.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,10 @@ def _get_available_formats(self, leading_three_digits):
137137
format_list = self._current_metadata.intl_number_format
138138
else:
139139
format_list = self._current_metadata.number_format
140+
national_prefix_is_used_by_country = (self._current_metadata.national_prefix is not None)
140141
for this_format in format_list:
141-
if (self._is_complete_number or this_format.national_prefix_optional_when_formatting or
142+
if (not national_prefix_is_used_by_country or self._is_complete_number or
143+
this_format.national_prefix_optional_when_formatting or
142144
_formatting_rule_has_first_group_only(this_format.national_prefix_formatting_rule)):
143145
if self._is_format_eligible(this_format.format):
144146
self._possible_formats.append(this_format)

python/tests/asyoutypetest.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1064,6 +1064,15 @@ def testAYTFShortNumberFormattingFix_MX(self):
10641064
self.assertEqual("+52 800 123 456", formatter.input_digit('6'))
10651065
self.assertEqual("+52 800 123 4567", formatter.input_digit('7'))
10661066

1067+
def testAYTFNoNationalPrefix(self):
1068+
formatter = AsYouTypeFormatter("IT")
1069+
self.assertEqual("3", formatter.input_digit('3'))
1070+
self.assertEqual("33", formatter.input_digit('3'))
1071+
self.assertEqual("333", formatter.input_digit('3'))
1072+
self.assertEqual("333 3", formatter.input_digit('3'))
1073+
self.assertEqual("333 33", formatter.input_digit('3'))
1074+
self.assertEqual("333 333", formatter.input_digit('3'))
1075+
10671076
def testAYTFShortNumberFormattingFix_US(self):
10681077
# For the US, an initial 1 is treated specially.
10691078
formatter = AsYouTypeFormatter("US")

0 commit comments

Comments
 (0)