Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
Google Inc.
Vonage Holdings Corp.
Ian Galpin
Ben Gertzfield
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,15 @@ C# port of Google's [libphonenumber library](https://github.com/googlei18n/libph
* AsYouTypeFormatter - formats phone numbers on-the-fly when users enter each digit.
* FindNumbers - finds numbers in text input

## HowTo Update

* checkout the latest release from https://github.com/googlei18n/libphonenumber/releases
* synchronize all contained folders with this repository
* copy PhoneNumberMetaDataForTesting.xml PhoneNumberMetaData.xml PhoneNumberAlternateFormats.xml from /resources to /csharp/PhoneNumbers
* optional run /csharp/lib/makeprotobuf.bat
* modify AssemblyVersion and AssemblyFileVersion in /csharp/PhoneNumbers/Properties/AssemblyInfo.cs and /csharp/PhoneNumbers.Test/Properties/AssemblyInfo.cs
* make /csharp/PhoneNumbers.sln

## ToDo

7.7.4 changes the organization of metadata https://groups.google.com/forum/#!topic/libphonenumber-discuss/GlS11RdyocQ
Expand Down
2 changes: 1 addition & 1 deletion codereview.settings
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file is used by gcl to get repository specific information.
CODE_REVIEW_SERVER: codereview.appspot.com
TRY_ON_UPLOAD: False
VIEW_VC: http://code.google.com/p/libphonenumber/source/detail?r=
VIEW_VC: https://github.com/googlei18n/libphonenumber/commit/
23,503 changes: 11,185 additions & 12,318 deletions cpp/src/phonenumbers/lite_metadata.cc

Large diffs are not rendered by default.

7 changes: 0 additions & 7 deletions cpp/src/phonenumbers/matcher_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,6 @@ class MatcherApi {
virtual bool MatchesNationalNumber(const string& national_number,
const PhoneNumberDesc& number_desc,
bool allow_prefix_match) const = 0;

// Returns whether the given national number (a string containing only decimal
// digits) matches the possible number pattern defined in the given
// PhoneNumberDesc message.
virtual bool MatchesPossibleNumber(
const string& national_number,
const PhoneNumberDesc& number_desc) const = 0;
};

} // namespace phonenumbers
Expand Down
24,831 changes: 11,850 additions & 12,981 deletions cpp/src/phonenumbers/metadata.cc

Large diffs are not rendered by default.

29 changes: 23 additions & 6 deletions cpp/src/phonenumbers/phonenumber.cc
Original file line number Diff line number Diff line change
Expand Up @@ -68,18 +68,35 @@ bool ExactlySameAs(const PhoneNumberDesc& first_number_desc,
second_number_desc.national_number_pattern()) {
return false;
}
if (first_number_desc.has_possible_number_pattern() !=
second_number_desc.has_possible_number_pattern() ||
first_number_desc.possible_number_pattern() !=
second_number_desc.possible_number_pattern()) {
return false;
}
if (first_number_desc.has_example_number() !=
second_number_desc.has_example_number() ||
first_number_desc.example_number() !=
second_number_desc.example_number()) {
return false;
}
if (first_number_desc.possible_length_size() !=
second_number_desc.possible_length_size()) {
return false;
} else {
for (int i = 0; i < first_number_desc.possible_length_size(); ++i) {
if (first_number_desc.possible_length(i) !=
second_number_desc.possible_length(i)) {
return false;
}
}
}
if (first_number_desc.possible_length_local_only_size() !=
second_number_desc.possible_length_local_only_size()) {
return false;
} else {
for (int i = 0; i < first_number_desc.possible_length_local_only_size();
++i) {
if (first_number_desc.possible_length_local_only(i) !=
second_number_desc.possible_length_local_only(i)) {
return false;
}
}
}
return true;
}

Expand Down
5 changes: 0 additions & 5 deletions cpp/src/phonenumbers/regex_based_matcher.cc
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,6 @@ bool RegexBasedMatcher::MatchesNationalNumber(
allow_prefix_match);
}

bool RegexBasedMatcher::MatchesPossibleNumber(
const string& national_number, const PhoneNumberDesc& number_desc) const {
return Match(national_number, number_desc.possible_number_pattern(), false);
}

bool RegexBasedMatcher::Match(const string& national_number,
const string& number_pattern,
bool allow_prefix_match) const {
Expand Down
3 changes: 0 additions & 3 deletions cpp/src/phonenumbers/regex_based_matcher.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,6 @@ class RegexBasedMatcher : public MatcherApi {
const PhoneNumberDesc& number_desc,
bool allow_prefix_match) const;

bool MatchesPossibleNumber(const string& national_number,
const PhoneNumberDesc& number_desc) const;

private:
bool Match(const string& national_number, const string& number_pattern,
bool allow_prefix_match) const;
Expand Down
6,277 changes: 2,878 additions & 3,399 deletions cpp/src/phonenumbers/short_metadata.cc

Large diffs are not rendered by default.

2,010 changes: 933 additions & 1,077 deletions cpp/src/phonenumbers/test_metadata.cc

Large diffs are not rendered by default.

7 changes: 1 addition & 6 deletions cpp/test/phonenumbers/phonenumberutil_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -221,11 +221,8 @@ TEST_F(PhoneNumberUtilTest, GetInstanceLoadUSMetadata) {
EXPECT_EQ("$1 $2 $3", metadata->number_format(1).format());
EXPECT_EQ("[13-689]\\d{9}|2[0-35-9]\\d{8}",
metadata->general_desc().national_number_pattern());
EXPECT_EQ("\\d{7}(?:\\d{3})?",
metadata->general_desc().possible_number_pattern());
EXPECT_EQ("[13-689]\\d{9}|2[0-35-9]\\d{8}",
metadata->fixed_line().national_number_pattern());
EXPECT_EQ("\\d{10}", metadata->toll_free().possible_number_pattern());
EXPECT_EQ(1, metadata->general_desc().possible_length_size());
EXPECT_EQ(10, metadata->general_desc().possible_length(0));
// Possible lengths are the same as the general description, so aren't stored
Expand All @@ -234,7 +231,6 @@ TEST_F(PhoneNumberUtilTest, GetInstanceLoadUSMetadata) {
EXPECT_EQ("900\\d{7}", metadata->premium_rate().national_number_pattern());
// No shared-cost data is available, so it should be initialised to "NA".
EXPECT_EQ("NA", metadata->shared_cost().national_number_pattern());
EXPECT_EQ("NA", metadata->shared_cost().possible_number_pattern());
}

TEST_F(PhoneNumberUtilTest, GetInstanceLoadDEMetadata) {
Expand All @@ -257,9 +253,8 @@ TEST_F(PhoneNumberUtilTest, GetInstanceLoadDEMetadata) {
EXPECT_EQ("$1 $2 $3", metadata->number_format(5).format());
EXPECT_EQ("(?:[24-6]\\d{2}|3[03-9]\\d|[789](?:0[2-9]|[1-9]\\d))\\d{1,8}",
metadata->fixed_line().national_number_pattern());
EXPECT_EQ("\\d{2,14}", metadata->fixed_line().possible_number_pattern());
EXPECT_EQ("30123456", metadata->fixed_line().example_number());
EXPECT_EQ("\\d{10}", metadata->toll_free().possible_number_pattern());
EXPECT_EQ(10, metadata->toll_free().possible_length(0));
EXPECT_EQ("900([135]\\d{6}|9\\d{7})",
metadata->premium_rate().national_number_pattern());
}
Expand Down
4 changes: 2 additions & 2 deletions csharp/PhoneNumbers.Test/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("7.7.4")]
[assembly: AssemblyFileVersion("7.7.4")]
[assembly: AssemblyVersion("7.7.5")]
[assembly: AssemblyFileVersion("7.7.5")]
2 changes: 2 additions & 0 deletions csharp/PhoneNumbers/PhoneNumberAlternateFormats.xml
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,14 @@
<!ELEMENT phoneNumberMetadata (territories)>
<!ELEMENT territories (territory+)>
<!ELEMENT territory (availableFormats)>
<!ELEMENT availableFormats (numberFormat+)>
<!ELEMENT numberFormat (leadingDigits*, format, intlFormat*)>
<!ELEMENT leadingDigits (#PCDATA)>
<!ELEMENT format (#PCDATA)>
<!ELEMENT intlFormat (#PCDATA)>

<!ATTLIST territory countryCode CDATA #REQUIRED>
<!ATTLIST numberFormat nationalPrefixFormattingRule CDATA #IMPLIED>
<!ATTLIST numberFormat pattern CDATA #REQUIRED>
]>

Expand Down
Loading