Skip to content

Commit b923df3

Browse files
committed
Update test code to use u()/prnt()/to_long() for Py2/3k single-source compatibility
1 parent d416c06 commit b923df3

7 files changed

Lines changed: 294 additions & 266 deletions

python/tests/asyoutypetest.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from phonenumbers import PhoneMetadata, PhoneNumberDesc, NumberFormat
2323
# Access internal functions of phonenumberutil.py
2424
from phonenumbers import phonenumberutil
25+
from phonenumbers.util import u
2526
from .phonenumberutiltest import insert_test_metadata, reinstate_real_metadata
2627

2728

@@ -207,16 +208,16 @@ def testAYTFUS(self):
207208

208209
def testAYTFUSFullWidthCharacters(self):
209210
formatter = AsYouTypeFormatter("US")
210-
self.assertEqual(u"\uFF16", formatter.input_digit(u'\uFF16'))
211-
self.assertEqual(u"\uFF16\uFF15", formatter.input_digit(u'\uFF15'))
212-
self.assertEqual("650", formatter.input_digit(u'\uFF10'))
213-
self.assertEqual("650 2", formatter.input_digit(u'\uFF12'))
214-
self.assertEqual("650 25", formatter.input_digit(u'\uFF15'))
215-
self.assertEqual("650 253", formatter.input_digit(u'\uFF13'))
216-
self.assertEqual("650 2532", formatter.input_digit(u'\uFF12'))
217-
self.assertEqual("650 253 22", formatter.input_digit(u'\uFF12'))
218-
self.assertEqual("650 253 222", formatter.input_digit(u'\uFF12'))
219-
self.assertEqual("650 253 2222", formatter.input_digit(u'\uFF12'))
211+
self.assertEqual(u("\uFF16"), formatter.input_digit(u("\uFF16")))
212+
self.assertEqual(u("\uFF16\uFF15"), formatter.input_digit(u("\uFF15")))
213+
self.assertEqual("650", formatter.input_digit(u("\uFF10")))
214+
self.assertEqual("650 2", formatter.input_digit(u("\uFF12")))
215+
self.assertEqual("650 25", formatter.input_digit(u("\uFF15")))
216+
self.assertEqual("650 253", formatter.input_digit(u("\uFF13")))
217+
self.assertEqual("650 2532", formatter.input_digit(u("\uFF12")))
218+
self.assertEqual("650 253 22", formatter.input_digit(u("\uFF12")))
219+
self.assertEqual("650 253 222", formatter.input_digit(u("\uFF12")))
220+
self.assertEqual("650 253 2222", formatter.input_digit(u("\uFF12")))
220221

221222
def testAYTFUSMobileShortCode(self):
222223
formatter = AsYouTypeFormatter("US")
@@ -877,9 +878,9 @@ def testEdgeCases(self):
877878
general_desc=PhoneNumberDesc(national_number_pattern='\\d{10}', possible_number_pattern='\\d{6,10}'),
878879
fixed_line=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
879880
mobile=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
880-
national_prefix=u'0',
881-
national_prefix_for_parsing=u'0',
882-
number_format=[NumberFormat(pattern='([135][246]|[246][123])(\\d{4})(\\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['[1-59]|[78]0'], national_prefix_formatting_rule=u'(0\\1)')])
881+
national_prefix=u("0"),
882+
national_prefix_for_parsing=u("0"),
883+
number_format=[NumberFormat(pattern='([135][246]|[246][123])(\\d{4})(\\d{4})', format=u("\\1 \\2 \\3"), leading_digits_pattern=['[1-59]|[78]0'], national_prefix_formatting_rule=u("(0\\1)"))])
883884
PhoneMetadata.region_metadata['XX'] = metadataXX
884885
phonenumberutil.SUPPORTED_REGIONS.add("XX")
885886
phonenumberutil.COUNTRY_CODE_TO_REGION_CODE[384] = ("XX",)

python/tests/examplenumberstest.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
from phonenumbers import PhoneNumberType, PhoneMetadata, NumberParseException
2424
from phonenumbers import phonenumberutil, PhoneNumber
25-
25+
from phonenumbers.util import prnt
2626

2727
class ExampleNumbersTest(unittest.TestCase):
2828
"""Verifies all of the example numbers in the metadata are valid and of
@@ -50,16 +50,16 @@ def _checkNumbersValidAndCorrectType(self,
5050
if exampleNumber is not None:
5151
if not phonenumberutil.is_valid_number(exampleNumber):
5252
self.invalid_cases.append(exampleNumber)
53-
print >> sys.stderr, "Failed validation for %s" % exampleNumber
53+
prnt("Failed validation for %s" % exampleNumber, file=sys.stderr)
5454
else:
5555
# We know the number is valid, now we check the type.
5656
exampleNumberType = phonenumberutil.number_type(exampleNumber)
5757
if exampleNumberType not in possibleExpectedTypes:
5858
self.wrong_type_cases.append(exampleNumber)
59-
print >> sys.stderr, "Wrong type for %s: got %s" % (exampleNumber, exampleNumberType)
60-
print >> sys.stderr, "Expected types: "
59+
prnt("Wrong type for %s: got %s" % (exampleNumber, exampleNumberType), file=sys.stderr)
60+
prnt("Expected types: ", file=sys.stderr)
6161
for phone_type in possibleExpectedTypes:
62-
print >> sys.stderr, " %s" % phone_type
62+
prnt(" %s" % phone_type, file=sys.stderr)
6363

6464
def testFixedLine(self):
6565
fixedLineTypes = set((PhoneNumberType.FIXED_LINE, PhoneNumberType.FIXED_LINE_OR_MOBILE))
@@ -120,8 +120,9 @@ def testCanBeInternationallyDialled(self):
120120
if desc.example_number is not None:
121121
exampleNumber = phonenumberutil.parse(desc.example_number, regionCode)
122122

123-
except NumberParseException, e:
124-
print >> sys.stderr, "Failed parse: %s" % e
123+
except NumberParseException:
124+
_, e, _ = sys.exc_info()
125+
prnt("Failed parse: %s" % e, file=sys.stderr)
125126

126127
if (exampleNumber is not None and
127128
phonenumberutil._can_be_internationally_dialled(exampleNumber)):
@@ -145,11 +146,11 @@ def testBlankMetadata(self):
145146
def testFormatNumberForMobile(self):
146147
# Python version extra test. Special cases for CO and BR in
147148
# format_number_for_mobile_dialing(), included here so that real metadata is used
148-
coNumberFixed = PhoneNumber(country_code=57, national_number=12345678L)
149-
coNumberMobile = PhoneNumber(country_code=57, national_number=3211234567L)
150-
peNumberFixed = PhoneNumber(country_code=51, national_number=11234567L)
151-
brNumberFixed = PhoneNumber(country_code=55, national_number=1123456789L)
152-
brNumberMobile = PhoneNumber(country_code=55, national_number=1161234567L,
149+
coNumberFixed = PhoneNumber(country_code=57, national_number=12345678)
150+
coNumberMobile = PhoneNumber(country_code=57, national_number=3211234567)
151+
peNumberFixed = PhoneNumber(country_code=51, national_number=11234567)
152+
brNumberFixed = PhoneNumber(country_code=55, national_number=1123456789)
153+
brNumberMobile = PhoneNumber(country_code=55, national_number=1161234567,
153154
preferred_domestic_carrier_code="303")
154155
self.assertEqual("0312345678",
155156
phonenumberutil.format_number_for_mobile_dialing(coNumberFixed, "CO", False))

python/tests/geocodertest.py

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
from phonenumbers import PhoneNumber
2323
from phonenumbers import geocoder
24+
from phonenumbers.util import u
2425

2526
# Allow override library geocoding metadata with the test metadata.
2627
REAL_GEOCODE_DATA = geocoder.GEOCODE_DATA
@@ -42,18 +43,18 @@ def insert_test_geodata():
4243

4344

4445
# Set up some test numbers to re-use.
45-
KO_NUMBER1 = PhoneNumber(country_code=82, national_number=22123456L)
46-
KO_NUMBER2 = PhoneNumber(country_code=82, national_number=322123456L)
47-
KO_NUMBER3 = PhoneNumber(country_code=82, national_number=6421234567L)
48-
KO_INVALID_NUMBER = PhoneNumber(country_code=82, national_number=1234L)
49-
US_NUMBER1 = PhoneNumber(country_code=1, national_number=6502530000L)
50-
US_NUMBER2 = PhoneNumber(country_code=1, national_number=6509600000L)
51-
US_NUMBER3 = PhoneNumber(country_code=1, national_number=2128120000L)
52-
US_NUMBER4 = PhoneNumber(country_code=1, national_number=6174240000L)
53-
US_INVALID_NUMBER = PhoneNumber(country_code=1, national_number=123456789L)
54-
BS_NUMBER1 = PhoneNumber(country_code=1, national_number=2423651234L)
55-
AU_NUMBER = PhoneNumber(country_code=61, national_number=236618300L)
56-
NUMBER_WITH_INVALID_COUNTRY_CODE = PhoneNumber(country_code=999, national_number=2423651234L)
46+
KO_NUMBER1 = PhoneNumber(country_code=82, national_number=22123456)
47+
KO_NUMBER2 = PhoneNumber(country_code=82, national_number=322123456)
48+
KO_NUMBER3 = PhoneNumber(country_code=82, national_number=6421234567)
49+
KO_INVALID_NUMBER = PhoneNumber(country_code=82, national_number=1234)
50+
US_NUMBER1 = PhoneNumber(country_code=1, national_number=6502530000)
51+
US_NUMBER2 = PhoneNumber(country_code=1, national_number=6509600000)
52+
US_NUMBER3 = PhoneNumber(country_code=1, national_number=2128120000)
53+
US_NUMBER4 = PhoneNumber(country_code=1, national_number=6174240000)
54+
US_INVALID_NUMBER = PhoneNumber(country_code=1, national_number=123456789)
55+
BS_NUMBER1 = PhoneNumber(country_code=1, national_number=2423651234)
56+
AU_NUMBER = PhoneNumber(country_code=61, national_number=236618300)
57+
NUMBER_WITH_INVALID_COUNTRY_CODE = PhoneNumber(country_code=999, national_number=2423651234)
5758

5859
# Language/country codes
5960
_CHINA = "CN"
@@ -79,7 +80,7 @@ def tearDown(self):
7980
def testGetDescriptionForNumberWithNoDataFile(self):
8081
# No data file containing mappings for US numbers is available in Chinese for the unittests. As
8182
# a result, the country name of United States in simplified Chinese is returned.
82-
self.assertEqual(u"\u7F8E\u56FD",
83+
self.assertEqual(u("\u7F8E\u56FD"),
8384
geocoder.description_for_number(US_NUMBER1, _CHINESE, region=_CHINA))
8485
self.assertEqual("Bahamas",
8586
geocoder.description_for_number(BS_NUMBER1, _ENGLISH, region=_USA))
@@ -109,9 +110,9 @@ def testGetDescriptionForKoreanNumber(self):
109110
geocoder.description_for_number(KO_NUMBER2, _ENGLISH))
110111
self.assertEqual("Jeju",
111112
geocoder.description_for_number(KO_NUMBER3, _ENGLISH))
112-
self.assertEqual(u"\uC11C\uC6B8",
113+
self.assertEqual(u("\uC11C\uC6B8"),
113114
geocoder.description_for_number(KO_NUMBER1, _KOREAN))
114-
self.assertEqual(u"\uC778\uCC9C",
115+
self.assertEqual(u("\uC778\uCC9C"),
115116
geocoder.description_for_number(KO_NUMBER2, _KOREAN))
116117

117118
def testGetDescriptionForFallBack(self):
@@ -126,7 +127,7 @@ def testGetDescriptionForFallBack(self):
126127
self.assertEqual("CA",
127128
geocoder.description_for_number(US_NUMBER1, _ITALIAN))
128129
# Korean doesn't fall back to English.
129-
self.assertEqual(u"\uB300\uD55C\uBBFC\uAD6D",
130+
self.assertEqual(u("\uB300\uD55C\uBBFC\uAD6D"),
130131
geocoder.description_for_number(KO_NUMBER3, _KOREAN))
131132

132133
def testGetDescriptionForNumberWithUserRegion(self):
@@ -153,13 +154,13 @@ def testGetDescriptionForInvalidNumber(self):
153154

154155
def testCoverage(self):
155156
# Python version extra tests
156-
invalid_number = PhoneNumber(country_code=210, national_number=123456L)
157+
invalid_number = PhoneNumber(country_code=210, national_number=123456)
157158
self.assertEqual("", geocoder.country_name_for_number(invalid_number, "en"))
158159
# Add in some script and region specific fictional names
159-
TEST_GEOCODE_DATA['1650960'] = {'en': u'Mountain View, CA',
160-
"en_GB": u'Mountain View California',
161-
"en_US": u'Mountain View, Sunny California',
162-
"en_Latn": u'MountainView'}
160+
TEST_GEOCODE_DATA['1650960'] = {'en': u("Mountain View, CA"),
161+
"en_GB": u("Mountain View California"),
162+
"en_US": u("Mountain View, Sunny California"),
163+
"en_Latn": u("MountainView")}
163164
# The following test might one day return "Mountain View California"
164165
self.assertEqual("United States",
165166
geocoder.description_for_number(US_NUMBER2, _ENGLISH, region="GB"))
@@ -172,4 +173,4 @@ def testCoverage(self):
172173
# Get a different result when there is a script-specific variant
173174
self.assertEqual("MountainView",
174175
geocoder.description_for_number(US_NUMBER2, _ENGLISH, script="Latn", region="US"))
175-
TEST_GEOCODE_DATA['1650960'] = {'en': u'Mountain View, CA'}
176+
TEST_GEOCODE_DATA['1650960'] = {'en': u("Mountain View, CA")}

0 commit comments

Comments
 (0)