Browse Source

Cpp: Adding GetSupportedRegions().

pull/567/head
Philip Liard 15 years ago
committed by Mihaela Rosca
parent
commit
9fafb51e8c
3 changed files with 28 additions and 2 deletions
  1. +9
    -0
      cpp/src/phonenumberutil.cc
  2. +3
    -0
      cpp/src/phonenumberutil.h
  3. +16
    -2
      cpp/src/phonenumberutil_test.cc

+ 9
- 0
cpp/src/phonenumberutil.cc View File

@ -752,6 +752,15 @@ PhoneNumberUtil* PhoneNumberUtil::GetInstance() {
return Singleton<PhoneNumberUtil>::get();
}
void PhoneNumberUtil::GetSupportedRegions(set<string>* regions) const {
DCHECK(regions);
for (map<string, PhoneMetadata>::const_iterator it =
country_to_metadata_map_->begin(); it != country_to_metadata_map_->end();
++it) {
regions->insert(it->first);
}
}
bool PhoneNumberUtil::IsValidRegionCode(const string& region_code) const {
return (country_to_metadata_map_->find(region_code) !=
country_to_metadata_map_->end());


+ 3
- 0
cpp/src/phonenumberutil.h View File

@ -551,6 +551,9 @@ class PhoneNumberUtil {
explicit PhoneNumberUtil(MetadataProvider* provider = 0);
~PhoneNumberUtil();
// Gets all the supported regions.
void GetSupportedRegions(set<string>* regions) const;
// Helper function to check region code is not unknown or null.
//
// The region_code parameter is an ISO 3166-1 two-letter country code string.


+ 16
- 2
cpp/src/phonenumberutil_test.cc View File

@ -16,13 +16,16 @@
// Author: Lara Rennie
// Open-sourced by: Philippe Liard
#include <set>
#include <string>
#include <gtest/gtest.h>
#include <re2/re2.h>
#include "phonenumberutil.h"
#include "test_metadata.h"
#include "phonemetadata.pb.h"
#include "phonenumber.pb.h"
#include "phonenumberutil.h"
#include "test_metadata.h"
namespace i18n {
namespace phonenumbers {
@ -49,6 +52,10 @@ class PhoneNumberUtilTest : public testing::Test {
return phone_util_.GetMetadataForRegion(region_code);
}
void GetSupportedRegions(set<string>* regions) {
phone_util_.GetSupportedRegions(regions);
}
void ExtractPossibleNumber(const string& number,
string* extracted_number) const {
PhoneNumberUtil::ExtractPossibleNumber(number, extracted_number);
@ -96,6 +103,13 @@ class PhoneNumberUtilTest : public testing::Test {
PhoneNumberUtil phone_util_;
};
TEST_F(PhoneNumberUtilTest, GetSupportedRegions) {
set<string> regions;
GetSupportedRegions(&regions);
EXPECT_GT(regions.size(), 0);
}
TEST_F(PhoneNumberUtilTest, GetInstanceLoadUSMetadata) {
const PhoneMetadata* metadata = GetPhoneMetadata("US");
EXPECT_EQ("US", metadata->id());


Loading…
Cancel
Save