Ejemplo n.º 1
0
 def testGetDescriptionForKoreanNumber(self):
     self.assertEqual("Seoul", description_for_number(KO_NUMBER1, _ENGLISH))
     self.assertEqual("Incheon",
                      description_for_number(KO_NUMBER2, _ENGLISH))
     self.assertEqual("Jeju", description_for_number(KO_NUMBER3, _ENGLISH))
     self.assertEqual(u"\uC11C\uC6B8",
                      description_for_number(KO_NUMBER1, _KOREAN))
     self.assertEqual(u"\uC778\uCC9C",
                      description_for_number(KO_NUMBER2, _KOREAN))
Ejemplo n.º 2
0
 def testGetDescriptionForNumber_en_US(self):
     self.assertEqual(
         "CA", description_for_number(US_NUMBER1, _ENGLISH, region=_USA))
     self.assertEqual(
         "Mountain View, CA",
         description_for_number(US_NUMBER2, _ENGLISH, region=_USA))
     self.assertEqual(
         "New York, NY",
         description_for_number(US_NUMBER3, _ENGLISH, region=_USA))
Ejemplo n.º 3
0
 def testGetDescriptionForFallBack(self):
     # No fallback, as the location name for the given phone number is
     # available in the requested language.
     self.assertEqual("Kalifornien",
                      description_for_number(US_NUMBER1, _GERMAN))
     # German falls back to English.
     self.assertEqual("New York, NY",
                      description_for_number(US_NUMBER3, _GERMAN))
     # Italian falls back to English.
     self.assertEqual("CA", description_for_number(US_NUMBER1, _ITALIAN))
     # Korean doesn't fall back to English.
     self.assertEqual(u"\uB300\uD55C\uBBFC\uAD6D",
                      description_for_number(KO_NUMBER3, _KOREAN))
Ejemplo n.º 4
0
 def testCoverage(self):
     # Python version extra tests
     invalid_number = PhoneNumber(country_code=210, national_number=123456L)
     self.assertEqual("", country_name_for_number(invalid_number, "en"))
     # Ensure we exercise all public entrypoints directly
     self.assertEqual("CA", area_description_for_number(US_NUMBER1, "en"))
     self.assertEqual("CA", description_for_valid_number(US_NUMBER1, "en"))
     self.assertEqual("",
                      description_for_valid_number(US_INVALID_NUMBER, "en"))
     # Add in some script and region specific fictional names
     TEST_GEOCODE_DATA['1650960'] = {
         'en': u'Mountain View, CA',
         "en_GB": u'Mountain View California',
         "en_US": u'Mountain View, Sunny California',
         "en_Latn": u'MountainView'
     }
     # The following test might one day return "Mountain View California"
     self.assertEqual(
         "United States",
         description_for_number(US_NUMBER2, _ENGLISH, region="GB"))
     self.assertEqual(
         "Mountain View, Sunny California",
         description_for_number(US_NUMBER2, _ENGLISH, region="US"))
     self.assertEqual(
         "MountainView",
         description_for_number(US_NUMBER2, _ENGLISH, script="Latn"))
     self.assertEqual(
         "United States",
         description_for_number(US_NUMBER2,
                                _ENGLISH,
                                script="Latn",
                                region="GB"))
     # Get a different result when there is a script-specific variant
     self.assertEqual(
         "MountainView",
         description_for_number(US_NUMBER2,
                                _ENGLISH,
                                script="Latn",
                                region="US"))
     TEST_GEOCODE_DATA['1650960'] = {'en': u'Mountain View, CA'}
Ejemplo n.º 5
0
 def testGetDescriptionForNumberWithNoDataFile(self):
     # No data file containing mappings for US numbers is available in Chinese for the unittests. As
     # a result, the country name of United States in simplified Chinese is returned.
     self.assertEqual(
         u"\u7F8E\u56FD",
         description_for_number(US_NUMBER1, _CHINESE, region=_CHINA))
     self.assertEqual(
         "Bahamas", description_for_number(BS_NUMBER1,
                                           _ENGLISH,
                                           region=_USA))
     self.assertEqual(
         "Australia",
         description_for_number(AU_NUMBER, _ENGLISH, region=_USA))
     self.assertEqual(
         "",
         description_for_number(NUMBER_WITH_INVALID_COUNTRY_CODE,
                                _ENGLISH,
                                region=_USA))
     self.assertEqual(
         "",
         description_for_number(INTERNATIONAL_TOLL_FREE,
                                _ENGLISH,
                                region=_USA))
Ejemplo n.º 6
0
 def testGetDescriptionForNumberWithUserRegion(self):
     # User in Italy, American number. We should just show United States, in
     # Spanish, and not more detailed information.
     self.assertEqual(
         "Estados Unidos",
         description_for_number(US_NUMBER1, _SPANISH, region="IT"))
     # Unknown region - should just show country name.
     self.assertEqual(
         "Estados Unidos",
         description_for_number(US_NUMBER1, _SPANISH, region="ZZ"))
     # User in the States, language German, should show detailed data.
     self.assertEqual(
         "Kalifornien",
         description_for_number(US_NUMBER1, _GERMAN, region="US"))
     # User in the States, language French, no data for French, so we fallback
     # to English detailed data.
     self.assertEqual(
         "CA", description_for_number(US_NUMBER1, _FRENCH, region="US"))
     # Invalid number - return an empty string.
     self.assertEqual(
         "", description_for_number(US_INVALID_NUMBER,
                                    _ENGLISH,
                                    region="US"))
Ejemplo n.º 7
0
 def testGetDescriptionForInvalidNumber(self):
     self.assertEqual("", description_for_number(KO_INVALID_NUMBER,
                                                 _ENGLISH))
     self.assertEqual("", description_for_number(US_INVALID_NUMBER,
                                                 _ENGLISH))
Ejemplo n.º 8
0
 def testGetDescriptionForNumberWithMissingPrefix(self):
     # Test that the name of the country is returned when the number passed in
     # is valid but not covered by the geocoding data file.
     self.assertEqual(
         "United States",
         description_for_number(US_NUMBER4, _ENGLISH, region=_USA))
Ejemplo n.º 9
0
    def testCoverage(self):
        # Python version extra tests
        invalid_number = PhoneNumber(country_code=210, national_number=123456L)
        self.assertEqual("", country_name_for_number(invalid_number, "en"))
        # Ensure we exercise all public entrypoints directly
        self.assertEqual("CA", _area_description_for_number(US_NUMBER1, "en"))
        self.assertEqual("CA", description_for_valid_number(US_NUMBER1, "en"))
        self.assertEqual("",
                         description_for_valid_number(US_INVALID_NUMBER, "en"))
        # Add in some script and region specific fictional names
        TEST_GEOCODE_DATA['1650960'] = {
            'en': u'Mountain View, CA',
            "en_GB": u'Mountain View California',
            "en_US": u'Mountain View, Sunny California',
            "en_Xyzz_US": u'MTV - xyzz',
            "en_Latn": u'MountainView'
        }
        # The following test might one day return "Mountain View California"
        self.assertEqual(
            "United States",
            description_for_number(US_NUMBER2, _ENGLISH, region="GB"))
        self.assertEqual(
            "Mountain View, Sunny California",
            description_for_number(US_NUMBER2, _ENGLISH, region="US"))
        self.assertEqual(
            "MountainView",
            description_for_number(US_NUMBER2, _ENGLISH, script="Latn"))
        self.assertEqual(
            "United States",
            description_for_number(US_NUMBER2,
                                   _ENGLISH,
                                   script="Latn",
                                   region="GB"))
        self.assertEqual(
            "MTV - xyzz",
            description_for_number(US_NUMBER2,
                                   _ENGLISH,
                                   script="Xyzz",
                                   region="US"))
        self.assertEqual(
            "Mountain View, Sunny California",
            description_for_number(US_NUMBER2,
                                   _ENGLISH,
                                   script="Zazz",
                                   region="US"))
        # Get a different result when there is a script-specific variant
        self.assertEqual(
            "MountainView",
            description_for_number(US_NUMBER2,
                                   _ENGLISH,
                                   script="Latn",
                                   region="US"))
        TEST_GEOCODE_DATA['1650960'] = {'en': u'Mountain View, CA'}

        # Test the locale mapping
        TEST_GEOCODE_DATA['8868'] = {
            'zh': u'Chinese',
            'zh_Hant': u'Hant-specific'
        }
        tw_number = FrozenPhoneNumber(country_code=886,
                                      national_number=810080123)
        self.assertEqual("Hant-specific",
                         description_for_number(tw_number, "zh", region="TW"))
        del TEST_GEOCODE_DATA['8868']
Ejemplo n.º 10
0
 def testGetDescriptionForArgentinianMobileNumber(self):
     self.assertEqual("La Plata",
                      description_for_number(AR_MOBILE_NUMBER, _ENGLISH))