Browse Source

CPP: Switch protobuff to lite and add Equals method.

pull/567/head
Philip Liard 15 years ago
committed by Mihaela Rosca
parent
commit
e139cb59e7
5 changed files with 163 additions and 137 deletions
  1. +1
    -0
      cpp/CMakeLists.txt
  2. +3
    -2
      cpp/src/phonenumberutil.cc
  3. +155
    -135
      cpp/src/phonenumberutil_test.cc
  4. +2
    -0
      resources/phonemetadata.proto
  5. +2
    -0
      resources/phonenumber.proto

+ 1
- 0
cpp/CMakeLists.txt View File

@ -121,6 +121,7 @@ set (
"src/logger_adapter.cc"
"src/metadata.cc"
"src/phonemetadata.pb.cc" # Generated by Protocol Buffers.
"src/phonenumber.cc"
"src/phonenumber.pb.cc" # Generated by Protocol Buffers.
"src/phonenumberutil.cc"
"src/re2_cache.cc"


+ 3
- 2
cpp/src/phonenumberutil.cc View File

@ -36,6 +36,7 @@
#include "logger_adapter.h"
#include "metadata.h"
#include "phonemetadata.pb.h"
#include "phonenumber.h"
#include "phonenumber.pb.h"
#include "re2_cache.h"
#include "stringutil.h"
@ -2110,7 +2111,7 @@ PhoneNumberUtil::MatchType PhoneNumberUtil::IsNumberMatch(
int second_number_country_code = second_number.country_code();
// Both had country calling code specified.
if (first_number_country_code != 0 && second_number_country_code != 0) {
if (first_number.DebugString() == second_number.DebugString()) {
if (ExactlySameAs(first_number, second_number)) {
return EXACT_MATCH;
} else if (first_number_country_code == second_number_country_code &&
IsNationalNumberSuffixOfTheOther(first_number, second_number)) {
@ -2128,7 +2129,7 @@ PhoneNumberUtil::MatchType PhoneNumberUtil::IsNumberMatch(
// equal.
first_number.set_country_code(second_number_country_code);
// If all else was the same, then this is an NSN_MATCH.
if (first_number.DebugString() == second_number.DebugString()) {
if (ExactlySameAs(first_number, second_number)) {
return NSN_MATCH;
}
if (IsNationalNumberSuffixOfTheOther(first_number, second_number)) {


+ 155
- 135
cpp/src/phonenumberutil_test.cc View File

@ -16,6 +16,7 @@
// Author: Lara Rennie
// Open-sourced by: Philippe Liard
#include <iostream>
#include <set>
#include <string>
@ -23,6 +24,7 @@
#include <re2/re2.h>
#include "phonemetadata.pb.h"
#include "phonenumber.h"
#include "phonenumber.pb.h"
#include "phonenumberutil.h"
#include "test_metadata.h"
@ -30,7 +32,9 @@
namespace i18n {
namespace phonenumbers {
using std::endl;
using std::make_pair;
using std::ostream;
using google::protobuf::RepeatedPtrField;
@ -207,10 +211,49 @@ class PhoneNumberUtilTest : public testing::Test {
phone_number);
}
static bool Equals(const PhoneNumberDesc& expected_number,
const PhoneNumberDesc& actual_number) {
return ExactlySameAs(expected_number, actual_number);
}
TestMetadataProvider provider_;
PhoneNumberUtil phone_util_;
};
// Provides PhoneNumber comparison operators to support the use of EXPECT_EQ and
// EXPECT_NE in the unittests.
bool operator==(const PhoneNumber& number1, const PhoneNumber& number2) {
return ExactlySameAs(number1, number2);
}
bool operator!=(const PhoneNumber& number1, const PhoneNumber& number2) {
return !(number1 == number2);
}
// Needed by Google Test to display errors.
ostream& operator<<(ostream& os, const PhoneNumber& number) {
os << endl
<< "country_code: " << number.country_code() << endl
<< "national_number: " << number.national_number() << endl;
if (number.has_extension()) {
os << "extension: " << number.extension() << endl;
}
if (number.has_italian_leading_zero()) {
os << "italian_leading_zero: " << number.italian_leading_zero() << endl;
}
if (number.has_raw_input()) {
os << "raw_input: " << number.raw_input() << endl;
}
if (number.has_country_code_source()) {
os << "country_code_source: " << number.country_code_source() << endl;
}
if (number.has_preferred_domestic_carrier_code()) {
os << "preferred_domestic_carrier_code: "
<< number.preferred_domestic_carrier_code() << endl;
}
return os;
}
TEST_F(PhoneNumberUtilTest, GetSupportedRegions) {
set<string> regions;
@ -232,9 +275,7 @@ TEST_F(PhoneNumberUtilTest, GetInstanceLoadUSMetadata) {
metadata->general_desc().national_number_pattern());
EXPECT_EQ("\\d{7}(?:\\d{3})?",
metadata->general_desc().possible_number_pattern());
EXPECT_EQ(metadata->general_desc().DebugString(),
metadata->fixed_line().DebugString());
EXPECT_TRUE(Equals(metadata->general_desc(), metadata->fixed_line()));
EXPECT_EQ("\\d{10}", metadata->toll_free().possible_number_pattern());
EXPECT_EQ("900\\d{7}", metadata->premium_rate().national_number_pattern());
// No shared-cost data is available, so it should be initialised to "NA".
@ -313,12 +354,12 @@ TEST_F(PhoneNumberUtilTest, GetExampleNumber) {
PhoneNumber test_number;
bool success = phone_util_.GetExampleNumber(RegionCode::DE(), &test_number);
EXPECT_TRUE(success);
EXPECT_EQ(test_number.DebugString(), de_number.DebugString());
EXPECT_EQ(de_number, test_number);
success = phone_util_.GetExampleNumberForType(RegionCode::DE(),
PhoneNumberUtil::FIXED_LINE,
&test_number);
EXPECT_TRUE(success);
EXPECT_EQ(test_number.DebugString(), de_number.DebugString());
EXPECT_EQ(de_number, test_number);
test_number.Clear();
success = phone_util_.GetExampleNumberForType(RegionCode::DE(),
PhoneNumberUtil::MOBILE,
@ -326,8 +367,7 @@ TEST_F(PhoneNumberUtilTest, GetExampleNumber) {
// Here we test that an example number was not returned, and that the number
// passed in was not modified.
EXPECT_FALSE(success);
EXPECT_EQ(test_number.DebugString(),
PhoneNumber::default_instance().DebugString());
EXPECT_EQ(PhoneNumber::default_instance(), test_number);
// For the US, the example number is placed under general description, and
// hence should be used for both fixed line and mobile, so neither of these
// should return null.
@ -338,15 +378,13 @@ TEST_F(PhoneNumberUtilTest, GetExampleNumber) {
// Here we test that the call to get an example number succeeded, and that the
// number passed in was modified.
EXPECT_TRUE(success);
EXPECT_NE(test_number.DebugString(),
PhoneNumber::default_instance().DebugString());
EXPECT_NE(PhoneNumber::default_instance(), test_number);
test_number.Clear();
success = phone_util_.GetExampleNumberForType(RegionCode::US(),
PhoneNumberUtil::MOBILE,
&test_number);
EXPECT_TRUE(success);
EXPECT_NE(test_number.DebugString(),
PhoneNumber::default_instance().DebugString());
EXPECT_NE(PhoneNumber::default_instance(), test_number);
}
TEST_F(PhoneNumberUtilTest, FormatUSNumber) {
@ -1302,7 +1340,7 @@ TEST_F(PhoneNumberUtilTest, TruncateTooLongNumber) {
valid_number.set_country_code(1);
valid_number.set_national_number(6502530000ULL);
EXPECT_TRUE(phone_util_.TruncateTooLongNumber(&too_long_number));
EXPECT_EQ(valid_number.DebugString(), too_long_number.DebugString());
EXPECT_EQ(valid_number, too_long_number);
// GB number 080 1234 5678, but entered with 4 extra digits at the end.
too_long_number.set_country_code(44);
@ -1310,7 +1348,7 @@ TEST_F(PhoneNumberUtilTest, TruncateTooLongNumber) {
valid_number.set_country_code(44);
valid_number.set_national_number(8012345678ULL);
EXPECT_TRUE(phone_util_.TruncateTooLongNumber(&too_long_number));
EXPECT_EQ(valid_number.DebugString(), too_long_number.DebugString());
EXPECT_EQ(valid_number, too_long_number);
// IT number 022 3456 7890, but entered with 3 extra digits at the end.
too_long_number.set_country_code(39);
@ -1320,13 +1358,13 @@ TEST_F(PhoneNumberUtilTest, TruncateTooLongNumber) {
valid_number.set_national_number(2234567890ULL);
valid_number.set_italian_leading_zero(true);
EXPECT_TRUE(phone_util_.TruncateTooLongNumber(&too_long_number));
EXPECT_EQ(valid_number.DebugString(), too_long_number.DebugString());
EXPECT_EQ(valid_number, too_long_number);
// Tests what happens when a valid number is passed in.
PhoneNumber valid_number_copy(valid_number);
EXPECT_TRUE(phone_util_.TruncateTooLongNumber(&valid_number));
// Tests the number is not modified.
EXPECT_EQ(valid_number_copy.DebugString(), valid_number.DebugString());
EXPECT_EQ(valid_number_copy, valid_number);
// Tests what happens when a number with invalid prefix is passed in.
PhoneNumber number_with_invalid_prefix;
@ -1336,8 +1374,7 @@ TEST_F(PhoneNumberUtilTest, TruncateTooLongNumber) {
PhoneNumber invalid_number_copy(number_with_invalid_prefix);
EXPECT_FALSE(phone_util_.TruncateTooLongNumber(&number_with_invalid_prefix));
// Tests the number is not modified.
EXPECT_EQ(invalid_number_copy.DebugString(),
number_with_invalid_prefix.DebugString());
EXPECT_EQ(invalid_number_copy, number_with_invalid_prefix);
// Tests what happens when a too short number is passed in.
PhoneNumber too_short_number;
@ -1346,8 +1383,7 @@ TEST_F(PhoneNumberUtilTest, TruncateTooLongNumber) {
PhoneNumber too_short_number_copy(too_short_number);
EXPECT_FALSE(phone_util_.TruncateTooLongNumber(&too_short_number));
// Tests the number is not modified.
EXPECT_EQ(too_short_number_copy.DebugString(),
too_short_number.DebugString());
EXPECT_EQ(too_short_number_copy, too_short_number);
}
TEST_F(PhoneNumberUtilTest, IsLeadingZeroPossible) {
@ -2091,18 +2127,18 @@ TEST_F(PhoneNumberUtilTest, ParseNationalNumber) {
// National prefix attached.
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("033316005", RegionCode::NZ(), &test_number));
EXPECT_EQ(test_number.DebugString(), nz_number.DebugString());
EXPECT_EQ(nz_number, test_number);
// National prefix missing.
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("33316005", RegionCode::NZ(), &test_number));
EXPECT_EQ(test_number.DebugString(), nz_number.DebugString());
EXPECT_EQ(nz_number, test_number);
// National prefix attached and some formatting present.
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("03-331 6005", RegionCode::NZ(), &test_number));
EXPECT_EQ(test_number.DebugString(), nz_number.DebugString());
EXPECT_EQ(nz_number, test_number);
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("03 331 6005", RegionCode::NZ(), &test_number));
EXPECT_EQ(test_number.DebugString(), nz_number.DebugString());
EXPECT_EQ(nz_number, test_number);
// Testing international prefixes.
// Should strip country code.
@ -2110,19 +2146,19 @@ TEST_F(PhoneNumberUtilTest, ParseNationalNumber) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0064 3 331 6005",
RegionCode::NZ(), &test_number));
EXPECT_EQ(test_number.DebugString(), nz_number.DebugString());
EXPECT_EQ(nz_number, test_number);
// Try again, but this time we have an international number with Region Code
// US. It should recognise the country code and parse accordingly.
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("01164 3 331 6005",
RegionCode::US(), &test_number));
EXPECT_EQ(test_number.DebugString(), nz_number.DebugString());
EXPECT_EQ(nz_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+64 3 331 6005",
RegionCode::US(), &test_number));
EXPECT_EQ(test_number.DebugString(), nz_number.DebugString());
EXPECT_EQ(nz_number, test_number);
// Test for http://b/issue?id=2247493
nz_number.Clear();
@ -2132,7 +2168,7 @@ TEST_F(PhoneNumberUtilTest, ParseNationalNumber) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+64(0)64123456",
RegionCode::US(), &test_number));
EXPECT_EQ(test_number.DebugString(), nz_number.DebugString());
EXPECT_EQ(nz_number, test_number);
// Check that using a "/" is fine in a phone number.
PhoneNumber de_number;
@ -2141,7 +2177,7 @@ TEST_F(PhoneNumberUtilTest, ParseNationalNumber) {
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("123/45678", RegionCode::DE(), &test_number));
EXPECT_EQ(test_number.DebugString(), de_number.DebugString());
EXPECT_EQ(de_number, test_number);
PhoneNumber us_number;
us_number.set_country_code(1);
@ -2151,7 +2187,7 @@ TEST_F(PhoneNumberUtilTest, ParseNationalNumber) {
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("123-456-7890", RegionCode::US(), &test_number));
EXPECT_EQ(test_number.DebugString(), us_number.DebugString());
EXPECT_EQ(us_number, test_number);
}
TEST_F(PhoneNumberUtilTest, ParseNumberWithAlphaCharacters) {
@ -2162,7 +2198,7 @@ TEST_F(PhoneNumberUtilTest, ParseNumberWithAlphaCharacters) {
tollfree_number.set_national_number(800332005ULL);
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0800 DDA 005", RegionCode::NZ(), &test_number));
EXPECT_EQ(test_number.DebugString(), tollfree_number.DebugString());
EXPECT_EQ(tollfree_number, test_number);
test_number.Clear();
PhoneNumber premium_number;
@ -2170,7 +2206,7 @@ TEST_F(PhoneNumberUtilTest, ParseNumberWithAlphaCharacters) {
premium_number.set_national_number(9003326005ULL);
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0900 DDA 6005", RegionCode::NZ(), &test_number));
EXPECT_EQ(test_number.DebugString(), premium_number.DebugString());
EXPECT_EQ(premium_number, test_number);
// Not enough alpha characters for them to be considered intentional, so they
// are stripped.
@ -2178,24 +2214,24 @@ TEST_F(PhoneNumberUtilTest, ParseNumberWithAlphaCharacters) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0900 332 6005a",
RegionCode::NZ(), &test_number));
EXPECT_EQ(test_number.DebugString(), premium_number.DebugString());
EXPECT_EQ(premium_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0900 332 600a5",
RegionCode::NZ(), &test_number));
EXPECT_EQ(test_number.DebugString(), premium_number.DebugString());
EXPECT_EQ(premium_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0900 332 600A5",
RegionCode::NZ(), &test_number));
EXPECT_EQ(test_number.DebugString(), premium_number.DebugString());
EXPECT_EQ(premium_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0900 a332 600A5",
RegionCode::NZ(), &test_number));
EXPECT_EQ(test_number.DebugString(), premium_number.DebugString());
EXPECT_EQ(premium_number, test_number);
}
TEST_F(PhoneNumberUtilTest, ParseWithInternationalPrefixes) {
@ -2206,12 +2242,12 @@ TEST_F(PhoneNumberUtilTest, ParseWithInternationalPrefixes) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+1 (650) 333-6000",
RegionCode::US(), &test_number));
EXPECT_EQ(test_number.DebugString(), us_number.DebugString());
EXPECT_EQ(us_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+1-650-333-6000",
RegionCode::US(), &test_number));
EXPECT_EQ(test_number.DebugString(), us_number.DebugString());
EXPECT_EQ(us_number, test_number);
// Calling the US number from Singapore by using different service providers
// 1st test: calling using SingTel IDD service (IDD is 001)
@ -2219,52 +2255,52 @@ TEST_F(PhoneNumberUtilTest, ParseWithInternationalPrefixes) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0011-650-333-6000",
RegionCode::SG(), &test_number));
EXPECT_EQ(test_number.DebugString(), us_number.DebugString());
EXPECT_EQ(us_number, test_number);
// 2nd test: calling using StarHub IDD service (IDD is 008)
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0081-650-333-6000",
RegionCode::SG(), &test_number));
EXPECT_EQ(test_number.DebugString(), us_number.DebugString());
EXPECT_EQ(us_number, test_number);
// 3rd test: calling using SingTel V019 service (IDD is 019)
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0191-650-333-6000",
RegionCode::SG(), &test_number));
EXPECT_EQ(test_number.DebugString(), us_number.DebugString());
EXPECT_EQ(us_number, test_number);
// Calling the US number from Poland
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0~01-650-333-6000",
RegionCode::PL(), &test_number));
EXPECT_EQ(test_number.DebugString(), us_number.DebugString());
EXPECT_EQ(us_number, test_number);
// Using "++" at the start.
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("++1 (650) 333-6000",
RegionCode::PL(), &test_number));
EXPECT_EQ(test_number.DebugString(), us_number.DebugString());
EXPECT_EQ(us_number, test_number);
// Using a full-width plus sign.
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+1 (650) 333-6000",
RegionCode::SG(), &test_number));
EXPECT_EQ(test_number.DebugString(), us_number.DebugString());
EXPECT_EQ(us_number, test_number);
// The whole number, including punctuation, is here represented in full-width
// form.
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+1 (650) 333-6000",
RegionCode::SG(), &test_number));
EXPECT_EQ(test_number.DebugString(), us_number.DebugString());
EXPECT_EQ(us_number, test_number);
// Using the U+30FC dash.
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+1 (650) 333ー6000",
RegionCode::SG(), &test_number));
EXPECT_EQ(test_number.DebugString(), us_number.DebugString());
EXPECT_EQ(us_number, test_number);
}
TEST_F(PhoneNumberUtilTest, ParseWithLeadingZero) {
@ -2276,11 +2312,11 @@ TEST_F(PhoneNumberUtilTest, ParseWithLeadingZero) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+39 02-36618 300",
RegionCode::NZ(), &test_number));
EXPECT_EQ(test_number.DebugString(), it_number.DebugString());
EXPECT_EQ(it_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("02-36618 300", RegionCode::IT(), &test_number));
EXPECT_EQ(test_number.DebugString(), it_number.DebugString());
EXPECT_EQ(it_number, test_number);
it_number.Clear();
it_number.set_country_code(39);
@ -2288,7 +2324,7 @@ TEST_F(PhoneNumberUtilTest, ParseWithLeadingZero) {
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("312 345 678", RegionCode::IT(), &test_number));
EXPECT_EQ(test_number.DebugString(), it_number.DebugString());
EXPECT_EQ(it_number, test_number);
}
TEST_F(PhoneNumberUtilTest, ParseNationalNumberArgentina) {
@ -2300,24 +2336,24 @@ TEST_F(PhoneNumberUtilTest, ParseNationalNumberArgentina) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+54 9 343 555 1212", RegionCode::AR(),
&test_number));
EXPECT_EQ(test_number.DebugString(), ar_number.DebugString());
EXPECT_EQ(ar_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0343 15 555 1212", RegionCode::AR(),
&test_number));
EXPECT_EQ(test_number.DebugString(), ar_number.DebugString());
EXPECT_EQ(ar_number, test_number);
ar_number.set_national_number(93715654320ULL);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+54 9 3715 65 4320", RegionCode::AR(),
&test_number));
EXPECT_EQ(test_number.DebugString(), ar_number.DebugString());
EXPECT_EQ(ar_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("03715 15 65 4320", RegionCode::AR(),
&test_number));
EXPECT_EQ(test_number.DebugString(), ar_number.DebugString());
EXPECT_EQ(ar_number, test_number);
// Test parsing fixed-line numbers of Argentina.
ar_number.set_national_number(1137970000ULL);
@ -2325,33 +2361,33 @@ TEST_F(PhoneNumberUtilTest, ParseNationalNumberArgentina) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+54 11 3797 0000", RegionCode::AR(),
&test_number));
EXPECT_EQ(test_number.DebugString(), ar_number.DebugString());
EXPECT_EQ(ar_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("011 3797 0000", RegionCode::AR(), &test_number));
EXPECT_EQ(test_number.DebugString(), ar_number.DebugString());
EXPECT_EQ(ar_number, test_number);
ar_number.set_national_number(3715654321ULL);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+54 3715 65 4321", RegionCode::AR(),
&test_number));
EXPECT_EQ(test_number.DebugString(), ar_number.DebugString());
EXPECT_EQ(ar_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("03715 65 4321", RegionCode::AR(), &test_number));
EXPECT_EQ(test_number.DebugString(), ar_number.DebugString());
EXPECT_EQ(ar_number, test_number);
ar_number.set_national_number(2312340000ULL);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+54 23 1234 0000", RegionCode::AR(),
&test_number));
EXPECT_EQ(test_number.DebugString(), ar_number.DebugString());
EXPECT_EQ(ar_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("023 1234 0000", RegionCode::AR(), &test_number));
EXPECT_EQ(test_number.DebugString(), ar_number.DebugString());
EXPECT_EQ(ar_number, test_number);
}
TEST_F(PhoneNumberUtilTest, ParseWithXInNumber) {
@ -2363,20 +2399,20 @@ TEST_F(PhoneNumberUtilTest, ParseWithXInNumber) {
PhoneNumber test_number;
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0123456789", RegionCode::AR(), &test_number));
EXPECT_EQ(test_number.DebugString(), ar_number.DebugString());
EXPECT_EQ(ar_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("(0) 123456789", RegionCode::AR(), &test_number));
EXPECT_EQ(test_number.DebugString(), ar_number.DebugString());
EXPECT_EQ(ar_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0 123456789", RegionCode::AR(), &test_number));
EXPECT_EQ(test_number.DebugString(), ar_number.DebugString());
EXPECT_EQ(ar_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("(0xx) 123456789", RegionCode::AR(),
&test_number));
EXPECT_EQ(test_number.DebugString(), ar_number.DebugString());
EXPECT_EQ(ar_number, test_number);
PhoneNumber ar_from_us;
ar_from_us.set_country_code(54);
@ -2390,7 +2426,7 @@ TEST_F(PhoneNumberUtilTest, ParseWithXInNumber) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("011xx5481429712", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(), ar_from_us.DebugString());
EXPECT_EQ(ar_from_us, test_number);
}
TEST_F(PhoneNumberUtilTest, ParseNumbersMexico) {
@ -2403,17 +2439,17 @@ TEST_F(PhoneNumberUtilTest, ParseNumbersMexico) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+52 (449)978-0001", RegionCode::MX(),
&test_number));
EXPECT_EQ(test_number.DebugString(), mx_number.DebugString());
EXPECT_EQ(mx_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("01 (449)978-0001", RegionCode::MX(),
&test_number));
EXPECT_EQ(test_number.DebugString(), mx_number.DebugString());
EXPECT_EQ(mx_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("(449)978-0001", RegionCode::MX(),
&test_number));
EXPECT_EQ(test_number.DebugString(), mx_number.DebugString());
EXPECT_EQ(mx_number, test_number);
// Test parsing mobile numbers of Mexico.
mx_number.Clear();
@ -2423,17 +2459,17 @@ TEST_F(PhoneNumberUtilTest, ParseNumbersMexico) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+52 1 33 1234-5678", RegionCode::MX(),
&test_number));
EXPECT_EQ(test_number.DebugString(), mx_number.DebugString());
EXPECT_EQ(mx_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("044 (33) 1234-5678", RegionCode::MX(),
&test_number));
EXPECT_EQ(test_number.DebugString(), mx_number.DebugString());
EXPECT_EQ(mx_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("045 33 1234-5678", RegionCode::MX(),
&test_number));
EXPECT_EQ(test_number.DebugString(), mx_number.DebugString());
EXPECT_EQ(mx_number, test_number);
}
TEST_F(PhoneNumberUtilTest, FailedParseOnInvalidNumbers) {
@ -2441,62 +2477,50 @@ TEST_F(PhoneNumberUtilTest, FailedParseOnInvalidNumbers) {
EXPECT_EQ(PhoneNumberUtil::NOT_A_NUMBER,
phone_util_.Parse("This is not a phone number", RegionCode::NZ(),
&test_number));
EXPECT_EQ(test_number.DebugString(),
PhoneNumber::default_instance().DebugString());
EXPECT_EQ(PhoneNumber::default_instance(), test_number);
EXPECT_EQ(PhoneNumberUtil::TOO_LONG_NSN,
phone_util_.Parse("01495 72553301873 810104", RegionCode::GB(),
&test_number));
EXPECT_EQ(test_number.DebugString(),
PhoneNumber::default_instance().DebugString());
EXPECT_EQ(PhoneNumber::default_instance(), test_number);
EXPECT_EQ(PhoneNumberUtil::TOO_SHORT_NSN,
phone_util_.Parse("+49 0", RegionCode::DE(),
&test_number));
EXPECT_EQ(test_number.DebugString(),
PhoneNumber::default_instance().DebugString());
EXPECT_EQ(PhoneNumber::default_instance(), test_number);
EXPECT_EQ(PhoneNumberUtil::INVALID_COUNTRY_CODE_ERROR,
phone_util_.Parse("+210 3456 56789", RegionCode::NZ(),
&test_number));
EXPECT_EQ(test_number.DebugString(),
PhoneNumber::default_instance().DebugString());
EXPECT_EQ(PhoneNumber::default_instance(), test_number);
EXPECT_EQ(PhoneNumberUtil::INVALID_COUNTRY_CODE_ERROR,
phone_util_.Parse("123 456 7890", RegionCode::ZZ(),
&test_number));
EXPECT_EQ(test_number.DebugString(),
PhoneNumber::default_instance().DebugString());
EXPECT_EQ(PhoneNumber::default_instance(), test_number);
EXPECT_EQ(PhoneNumberUtil::INVALID_COUNTRY_CODE_ERROR,
phone_util_.Parse("123 456 7890", RegionCode::CS(),
&test_number));
EXPECT_EQ(test_number.DebugString(),
PhoneNumber::default_instance().DebugString());
EXPECT_EQ(PhoneNumber::default_instance(), test_number);
EXPECT_EQ(PhoneNumberUtil::TOO_SHORT_AFTER_IDD,
phone_util_.Parse("0044-----", RegionCode::GB(),
&test_number));
EXPECT_EQ(test_number.DebugString(),
PhoneNumber::default_instance().DebugString());
EXPECT_EQ(PhoneNumber::default_instance(), test_number);
EXPECT_EQ(PhoneNumberUtil::TOO_SHORT_AFTER_IDD,
phone_util_.Parse("0044", RegionCode::GB(),
&test_number));
EXPECT_EQ(test_number.DebugString(),
PhoneNumber::default_instance().DebugString());
EXPECT_EQ(PhoneNumber::default_instance(), test_number);
EXPECT_EQ(PhoneNumberUtil::TOO_SHORT_AFTER_IDD,
phone_util_.Parse("011", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(),
PhoneNumber::default_instance().DebugString());
EXPECT_EQ(PhoneNumber::default_instance(), test_number);
EXPECT_EQ(PhoneNumberUtil::TOO_SHORT_AFTER_IDD,
phone_util_.Parse("0119", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(),
PhoneNumber::default_instance().DebugString());
EXPECT_EQ(PhoneNumber::default_instance(), test_number);
}
TEST_F(PhoneNumberUtilTest, ParseNumbersWithPlusWithNoRegion) {
@ -2509,19 +2533,19 @@ TEST_F(PhoneNumberUtilTest, ParseNumbersWithPlusWithNoRegion) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+64 3 331 6005", RegionCode::ZZ(),
&result_proto));
EXPECT_EQ(nz_number.DebugString(), result_proto.DebugString());
EXPECT_EQ(nz_number, result_proto);
// Test with full-width plus.
result_proto.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+64 3 331 6005", RegionCode::ZZ(),
&result_proto));
EXPECT_EQ(nz_number.DebugString(), result_proto.DebugString());
EXPECT_EQ(nz_number, result_proto);
// Test with normal plus but leading characters that need to be stripped.
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse(" +64 3 331 6005", RegionCode::ZZ(),
&result_proto));
EXPECT_EQ(nz_number.DebugString(), result_proto.DebugString());
EXPECT_EQ(nz_number, result_proto);
nz_number.set_raw_input("+64 3 331 6005");
nz_number.set_country_code_source(PhoneNumber::FROM_NUMBER_WITH_PLUS_SIGN);
@ -2532,7 +2556,7 @@ TEST_F(PhoneNumberUtilTest, ParseNumbersWithPlusWithNoRegion) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.ParseAndKeepRawInput("+64 3 331 6005", RegionCode::ZZ(),
&result_proto));
EXPECT_EQ(nz_number.DebugString(), result_proto.DebugString());
EXPECT_EQ(nz_number, result_proto);
}
TEST_F(PhoneNumberUtilTest, ParseExtensions) {
@ -2544,22 +2568,22 @@ TEST_F(PhoneNumberUtilTest, ParseExtensions) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("03 331 6005 ext 3456", RegionCode::NZ(),
&test_number));
EXPECT_EQ(test_number.DebugString(), nz_number.DebugString());
EXPECT_EQ(nz_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("03 331 6005x3456", RegionCode::NZ(),
&test_number));
EXPECT_EQ(test_number.DebugString(), nz_number.DebugString());
EXPECT_EQ(nz_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("03-331 6005 int.3456", RegionCode::NZ(),
&test_number));
EXPECT_EQ(test_number.DebugString(), nz_number.DebugString());
EXPECT_EQ(nz_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("03 331 6005 #3456", RegionCode::NZ(),
&test_number));
EXPECT_EQ(test_number.DebugString(), nz_number.DebugString());
EXPECT_EQ(nz_number, test_number);
// Test the following do not extract extensions:
PhoneNumber non_extn_number;
@ -2569,22 +2593,22 @@ TEST_F(PhoneNumberUtilTest, ParseExtensions) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("1800 six-flags", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(), non_extn_number.DebugString());
EXPECT_EQ(non_extn_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("1800 SIX-FLAGS", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(), non_extn_number.DebugString());
EXPECT_EQ(non_extn_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0~0 1800 7493 5247", RegionCode::PL(),
&test_number));
EXPECT_EQ(test_number.DebugString(), non_extn_number.DebugString());
EXPECT_EQ(non_extn_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("(1800) 7493.5247", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(), non_extn_number.DebugString());
EXPECT_EQ(non_extn_number, test_number);
// Check that the last instance of an extension token is matched.
PhoneNumber extn_number;
@ -2595,7 +2619,7 @@ TEST_F(PhoneNumberUtilTest, ParseExtensions) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("0~0 1800 7493 5247 ~1234", RegionCode::PL(),
&test_number));
EXPECT_EQ(test_number.DebugString(), extn_number.DebugString());
EXPECT_EQ(extn_number, test_number);
// Verifying bug-fix where the last digit of a number was previously omitted
// if it was a 0 when extracting the extension. Also verifying a few different
@ -2608,47 +2632,47 @@ TEST_F(PhoneNumberUtilTest, ParseExtensions) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+44 2034567890x456", RegionCode::NZ(),
&test_number));
EXPECT_EQ(test_number.DebugString(), uk_number.DebugString());
EXPECT_EQ(uk_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+44 2034567890x456", RegionCode::NZ(),
phone_util_.Parse("+44 2034567890x456", RegionCode::GB(),
&test_number));
EXPECT_EQ(test_number.DebugString(), uk_number.DebugString());
EXPECT_EQ(uk_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+44 2034567890 x456", RegionCode::GB(),
&test_number));
EXPECT_EQ(test_number.DebugString(), uk_number.DebugString());
EXPECT_EQ(uk_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+44 2034567890 X456", RegionCode::GB(),
&test_number));
EXPECT_EQ(test_number.DebugString(), uk_number.DebugString());
EXPECT_EQ(uk_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+44 2034567890 X 456", RegionCode::GB(),
&test_number));
EXPECT_EQ(test_number.DebugString(), uk_number.DebugString());
EXPECT_EQ(uk_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+44 2034567890 X 456", RegionCode::GB(),
&test_number));
EXPECT_EQ(test_number.DebugString(), uk_number.DebugString());
EXPECT_EQ(uk_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+44 2034567890 x 456 ", RegionCode::GB(),
&test_number));
EXPECT_EQ(test_number.DebugString(), uk_number.DebugString());
EXPECT_EQ(uk_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+44 2034567890 X 456", RegionCode::GB(),
&test_number));
EXPECT_EQ(test_number.DebugString(), uk_number.DebugString());
EXPECT_EQ(uk_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+44-2034567890;ext=456", RegionCode::GB(),
&test_number));
EXPECT_EQ(test_number.DebugString(), uk_number.DebugString());
EXPECT_EQ(uk_number, test_number);
PhoneNumber us_with_extension;
us_with_extension.set_country_code(1);
@ -2658,24 +2682,24 @@ TEST_F(PhoneNumberUtilTest, ParseExtensions) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("(800) 901-3355 x 7246433", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(), us_with_extension.DebugString());
EXPECT_EQ(us_with_extension, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("(800) 901-3355 , ext 7246433", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(), us_with_extension.DebugString());
EXPECT_EQ(us_with_extension, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("(800) 901-3355 ,extension 7246433",
RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(), us_with_extension.DebugString());
EXPECT_EQ(us_with_extension, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("(800) 901-3355 ,extensión 7246433",
RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(), us_with_extension.DebugString());
EXPECT_EQ(us_with_extension, test_number);
test_number.Clear();
// Repeat with the small letter o with acute accent created by combining
// characters.
@ -2683,17 +2707,17 @@ TEST_F(PhoneNumberUtilTest, ParseExtensions) {
phone_util_.Parse("(800) 901-3355 ,extensión 7246433",
RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(), us_with_extension.DebugString());
EXPECT_EQ(us_with_extension, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("(800) 901-3355 , 7246433", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(), us_with_extension.DebugString());
EXPECT_EQ(us_with_extension, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("(800) 901-3355 ext: 7246433", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(), us_with_extension.DebugString());
EXPECT_EQ(us_with_extension, test_number);
// Test that if a number has two extensions specified, we ignore the second.
PhoneNumber us_with_two_extensions_number;
@ -2704,20 +2728,17 @@ TEST_F(PhoneNumberUtilTest, ParseExtensions) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("(212)123-1234 x508/x1234", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(),
us_with_two_extensions_number.DebugString());
EXPECT_EQ(us_with_two_extensions_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("(212)123-1234 x508/ x1234", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(),
us_with_two_extensions_number.DebugString());
EXPECT_EQ(us_with_two_extensions_number, test_number);
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("(212)123-1234 x508\\x1234", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(),
us_with_two_extensions_number.DebugString());
EXPECT_EQ(us_with_two_extensions_number, test_number);
// Test parsing numbers in the form (645) 123-1234-910# works, where the last
// 3 digits before the # are an extension.
@ -2729,7 +2750,7 @@ TEST_F(PhoneNumberUtilTest, ParseExtensions) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.Parse("+1 (645) 123 1234-910#", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(), us_with_extension.DebugString());
EXPECT_EQ(us_with_extension, test_number);
}
TEST_F(PhoneNumberUtilTest, ParseAndKeepRaw) {
@ -2745,7 +2766,7 @@ TEST_F(PhoneNumberUtilTest, ParseAndKeepRaw) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.ParseAndKeepRawInput("800 six-flags", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(), alpha_numeric_number.DebugString());
EXPECT_EQ(alpha_numeric_number, test_number);
alpha_numeric_number.set_national_number(8007493524ULL);
alpha_numeric_number.set_raw_input("1800 six-flag");
@ -2754,7 +2775,7 @@ TEST_F(PhoneNumberUtilTest, ParseAndKeepRaw) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.ParseAndKeepRawInput("1800 six-flag", RegionCode::US(),
&test_number));
EXPECT_EQ(test_number.DebugString(), alpha_numeric_number.DebugString());
EXPECT_EQ(alpha_numeric_number, test_number);
alpha_numeric_number.set_raw_input("+1800 six-flag");
alpha_numeric_number.set_country_code_source(
@ -2762,7 +2783,7 @@ TEST_F(PhoneNumberUtilTest, ParseAndKeepRaw) {
EXPECT_EQ(PhoneNumberUtil::NO_PARSING_ERROR,
phone_util_.ParseAndKeepRawInput("+1800 six-flag", RegionCode::CN(),
&test_number));
EXPECT_EQ(test_number.DebugString(), alpha_numeric_number.DebugString());
EXPECT_EQ(alpha_numeric_number, test_number);
alpha_numeric_number.set_raw_input("001800 six-flag");
alpha_numeric_number.set_country_code_source(
@ -2771,14 +2792,13 @@ TEST_F(PhoneNumberUtilTest, ParseAndKeepRaw) {
phone_util_.ParseAndKeepRawInput("001800 six-flag",
RegionCode::NZ(),
&test_number));
EXPECT_EQ(test_number.DebugString(), alpha_numeric_number.DebugString());
EXPECT_EQ(alpha_numeric_number, test_number);
// Try with invalid region - expect failure.
test_number.Clear();
EXPECT_EQ(PhoneNumberUtil::INVALID_COUNTRY_CODE_ERROR,
phone_util_.Parse("123 456 7890", RegionCode::CS(), &test_number));
EXPECT_EQ(test_number.DebugString(),
PhoneNumber::default_instance().DebugString());
EXPECT_EQ(PhoneNumber::default_instance(), test_number);
PhoneNumber korean_number;
korean_number.set_country_code(82);
@ -2790,7 +2810,7 @@ TEST_F(PhoneNumberUtilTest, ParseAndKeepRaw) {
phone_util_.ParseAndKeepRawInput("08122123456",
RegionCode::KR(),
&test_number));
EXPECT_EQ(test_number.DebugString(), korean_number.DebugString());
EXPECT_EQ(korean_number, test_number);
}
TEST_F(PhoneNumberUtilTest, IsAlphaNumber) {


+ 2
- 0
resources/phonemetadata.proto View File

@ -21,6 +21,8 @@
syntax = "proto2";
option java_package = "com.google.i18n.phonenumbers";
option optimize_for = LITE_RUNTIME;
package i18n.phonenumbers;
message NumberFormat {


+ 2
- 0
resources/phonenumber.proto View File

@ -20,6 +20,8 @@
syntax = "proto2";
option java_package = "com.google.i18n.phonenumbers";
option optimize_for = LITE_RUNTIME;
package i18n.phonenumbers;
message PhoneNumber {


Loading…
Cancel
Save