Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(491)

Unified Diff: components/payments/core/address_normalizer_unittest.cc

Issue 2808983003: [Payments] Format shipping and billing phone number in normalizer. (Closed)
Patch Set: Nits Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/payments/core/address_normalizer_unittest.cc
diff --git a/components/payments/core/address_normalizer_unittest.cc b/components/payments/core/address_normalizer_unittest.cc
index ee934bbb4f351e7f31584ef998e4cb309016c76f..da9760b3ef28e450083520abd7a64560587193c0 100644
--- a/components/payments/core/address_normalizer_unittest.cc
+++ b/components/payments/core/address_normalizer_unittest.cc
@@ -25,6 +25,8 @@ using ::i18n::addressinput::Source;
using ::i18n::addressinput::Storage;
using ::i18n::addressinput::TestdataSource;
+const char kLocale[] = "US";
+
// The requester of normalization for this test.
class NormalizationDelegate : public AddressNormalizer::Delegate {
public:
@@ -33,22 +35,26 @@ class NormalizationDelegate : public AddressNormalizer::Delegate {
~NormalizationDelegate() override {}
- void OnAddressNormalized(
- const autofill::AutofillProfile& normalized_profile) override {
+ void OnAddressNormalized(const autofill::AutofillProfile& profile) override {
normalized_called_ = true;
+ profile_ = profile;
}
void OnCouldNotNormalize(const autofill::AutofillProfile& profile) override {
not_normalized_called_ = true;
+ profile_ = profile;
}
- bool normalized_called() { return normalized_called_; }
+ bool normalized_called() const { return normalized_called_; }
+
+ bool not_normalized_called() const { return not_normalized_called_; }
- bool not_normalized_called() { return not_normalized_called_; }
+ const AutofillProfile& profile() const { return profile_; }
private:
bool normalized_called_;
bool not_normalized_called_;
+ AutofillProfile profile_;
DISALLOW_COPY_AND_ASSIGN(NormalizationDelegate);
};
@@ -60,7 +66,7 @@ class ChromiumTestdataSource : public TestdataSource {
~ChromiumTestdataSource() override {}
- // For this test, only load the rules for the "US".
+ // For this test, only load the rules for the kLocale.
void Get(const std::string& key, const Callback& data_ready) const override {
data_ready(
true, key,
@@ -121,13 +127,13 @@ class AddressNormalizerTest : public testing::Test {
// Tests that rules are not loaded by default.
TEST_F(AddressNormalizerTest, AreRulesLoadedForRegion_NotLoaded) {
- EXPECT_FALSE(normalizer_->AreRulesLoadedForRegion("US"));
+ EXPECT_FALSE(normalizer_->AreRulesLoadedForRegion(kLocale));
}
// Tests that the rules are loaded correctly.
TEST_F(AddressNormalizerTest, AreRulesLoadedForRegion_Loaded) {
- normalizer_->LoadRulesForRegion("US");
- EXPECT_TRUE(normalizer_->AreRulesLoadedForRegion("US"));
+ normalizer_->LoadRulesForRegion(kLocale);
+ EXPECT_TRUE(normalizer_->AreRulesLoadedForRegion(kLocale));
}
// Tests that if the rules are loaded before the normalization is started, the
@@ -137,11 +143,11 @@ TEST_F(AddressNormalizerTest, StartNormalization_RulesLoaded) {
AutofillProfile profile;
// Load the rules.
- normalizer_->LoadRulesForRegion("US");
- EXPECT_TRUE(normalizer_->AreRulesLoadedForRegion("US"));
+ normalizer_->LoadRulesForRegion(kLocale);
+ EXPECT_TRUE(normalizer_->AreRulesLoadedForRegion(kLocale));
// Start the normalization.
- normalizer_->StartAddressNormalization(profile, "US", 0, &delegate);
+ normalizer_->StartAddressNormalization(profile, kLocale, 0, &delegate);
// Since the rules are already loaded, the address should be normalized
// synchronously.
@@ -161,7 +167,7 @@ TEST_F(AddressNormalizerTest, StartNormalization_RulesNotLoaded_WillNotLoad) {
normalizer_->ShouldLoadRules(false);
// Start the normalization.
- normalizer_->StartAddressNormalization(profile, "US", 0, &delegate);
+ normalizer_->StartAddressNormalization(profile, kLocale, 0, &delegate);
// Let the timeout execute.
base::RunLoop().RunUntilIdle();
@@ -179,15 +185,63 @@ TEST_F(AddressNormalizerTest, StartNormalization_RulesNotLoaded_WillLoad) {
AutofillProfile profile;
// Start the normalization.
- normalizer_->StartAddressNormalization(profile, "US", 0, &delegate);
+ normalizer_->StartAddressNormalization(profile, kLocale, 0, &delegate);
// Even if the rules are not loaded before the call to
// StartAddressNormalization, they should get loaded in the call. Since our
// test source is synchronous, the normalization will happen synchronously
// too.
- EXPECT_TRUE(normalizer_->AreRulesLoadedForRegion("US"));
+ EXPECT_TRUE(normalizer_->AreRulesLoadedForRegion(kLocale));
EXPECT_TRUE(delegate.normalized_called());
EXPECT_FALSE(delegate.not_normalized_called());
}
+// Tests that the phone number is formatted when the address is normalized.
+TEST_F(AddressNormalizerTest, FormatPhone_AddressNormalized) {
+ NormalizationDelegate delegate;
+ AutofillProfile profile;
+ profile.SetRawInfo(autofill::PHONE_HOME_WHOLE_NUMBER,
+ base::UTF8ToUTF16("(515) 123-1234"));
+
+ // Load the rules.
+ normalizer_->LoadRulesForRegion(kLocale);
+ EXPECT_TRUE(normalizer_->AreRulesLoadedForRegion(kLocale));
+
+ // Start the normalization.
+ normalizer_->StartAddressNormalization(profile, kLocale, 0, &delegate);
+
+ // Make sure the address was normalized.
+ EXPECT_TRUE(delegate.normalized_called());
+
+ // Expect that the phone number was formatted.
+ EXPECT_EQ("+15151231234", base::UTF16ToUTF8(delegate.profile().GetRawInfo(
+ autofill::PHONE_HOME_WHOLE_NUMBER)));
+}
+
+// Tests that the phone number is formatted even when the address is not
+// normalized.
+TEST_F(AddressNormalizerTest, FormatPhone_AddressNotNormalized) {
+ NormalizationDelegate delegate;
+ AutofillProfile profile;
+ profile.SetRawInfo(autofill::PHONE_HOME_WHOLE_NUMBER,
+ base::UTF8ToUTF16("515-123-1234"));
+
+ // Make sure the rules will not be loaded in the StartAddressNormalization
+ // call.
+ normalizer_->ShouldLoadRules(false);
+
+ // Start the normalization.
+ normalizer_->StartAddressNormalization(profile, kLocale, 0, &delegate);
+
+ // Let the timeout execute.
+ base::RunLoop().RunUntilIdle();
+
+ // Make sure the address was not normalized.
+ EXPECT_TRUE(delegate.not_normalized_called());
+
+ // Expect that the phone number was formatted.
+ EXPECT_EQ("+15151231234", base::UTF16ToUTF8(delegate.profile().GetRawInfo(
+ autofill::PHONE_HOME_WHOLE_NUMBER)));
+}
+
} // namespace payments
« no previous file with comments | « components/payments/core/address_normalizer.cc ('k') | components/payments/core/payment_request_data_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698