|
|
|
@ -29,29 +29,45 @@ namespace phonenumbers { |
|
|
|
|
|
|
|
namespace { |
|
|
|
|
|
|
|
void ExpectMatched( |
|
|
|
const MatcherApi& matcher, |
|
|
|
const string& number, |
|
|
|
const PhoneNumberDesc& desc) { |
|
|
|
EXPECT_TRUE(matcher.MatchNationalNumber(number, desc, false)); |
|
|
|
EXPECT_TRUE(matcher.MatchNationalNumber(number, desc, true)); |
|
|
|
string ToString(const PhoneNumberDesc& desc) { |
|
|
|
string str = "pattern: "; |
|
|
|
if (desc.has_national_number_pattern()) { |
|
|
|
str += desc.national_number_pattern(); |
|
|
|
} else { |
|
|
|
str += "none"; |
|
|
|
} |
|
|
|
return str; |
|
|
|
} |
|
|
|
|
|
|
|
void ExpectInvalid( |
|
|
|
const MatcherApi& matcher, |
|
|
|
const string& number, |
|
|
|
const PhoneNumberDesc& desc) { |
|
|
|
EXPECT_FALSE(matcher.MatchNationalNumber(number, desc, false)); |
|
|
|
EXPECT_FALSE(matcher.MatchNationalNumber(number, desc, true)); |
|
|
|
} |
|
|
|
void ExpectMatched( |
|
|
|
const MatcherApi& matcher, |
|
|
|
const string& number, |
|
|
|
const PhoneNumberDesc& desc) { |
|
|
|
EXPECT_TRUE(matcher.MatchNationalNumber(number, desc, false)) |
|
|
|
<< number << " should have matched " << ToString(desc); |
|
|
|
EXPECT_TRUE(matcher.MatchNationalNumber(number, desc, true)) |
|
|
|
<< number << " should have matched " << ToString(desc); |
|
|
|
} |
|
|
|
|
|
|
|
void ExpectTooLong( |
|
|
|
const MatcherApi& matcher, |
|
|
|
const string& number, |
|
|
|
const PhoneNumberDesc& desc) { |
|
|
|
EXPECT_FALSE(matcher.MatchNationalNumber(number, desc, false)); |
|
|
|
EXPECT_TRUE(matcher.MatchNationalNumber(number, desc, true)); |
|
|
|
} |
|
|
|
void ExpectInvalid( |
|
|
|
const MatcherApi& matcher, |
|
|
|
const string& number, |
|
|
|
const PhoneNumberDesc& desc) { |
|
|
|
EXPECT_FALSE(matcher.MatchNationalNumber(number, desc, false)) |
|
|
|
<< number << " should not have matched " << ToString(desc); |
|
|
|
EXPECT_FALSE(matcher.MatchNationalNumber(number, desc, true)) |
|
|
|
<< number << " should not have matched " << ToString(desc); |
|
|
|
} |
|
|
|
|
|
|
|
void ExpectTooLong( |
|
|
|
const MatcherApi& matcher, |
|
|
|
const string& number, |
|
|
|
const PhoneNumberDesc& desc) { |
|
|
|
EXPECT_FALSE(matcher.MatchNationalNumber(number, desc, false)) |
|
|
|
<< number << " should have been too long for " << ToString(desc); |
|
|
|
EXPECT_TRUE(matcher.MatchNationalNumber(number, desc, true)) |
|
|
|
<< number << " should have been too long for " << ToString(desc); |
|
|
|
} |
|
|
|
|
|
|
|
} // namespace
|
|
|
|
|
|
|
|
@ -64,7 +80,6 @@ class MatcherTest : public testing::Test { |
|
|
|
// Test if there is no matcher data.
|
|
|
|
ExpectInvalid(matcher, "1", desc); |
|
|
|
|
|
|
|
// Matcher data generated by MatcherCompiler.
|
|
|
|
desc = CreateDesc("9\\d{2}"); |
|
|
|
ExpectInvalid(matcher, "91", desc); |
|
|
|
ExpectInvalid(matcher, "81", desc); |
|
|
|
|