Index: third_party/libaddressinput/chromium/cpp/test/address_validator_test.cc |
diff --git a/third_party/libaddressinput/chromium/cpp/test/address_validator_test.cc b/third_party/libaddressinput/chromium/cpp/test/address_validator_test.cc |
index 258b488b215dcb59f63ea431f2d060b22f2c1e7d..1e530476762f85680411052d1db6bf87f64283f5 100644 |
--- a/third_party/libaddressinput/chromium/cpp/test/address_validator_test.cc |
+++ b/third_party/libaddressinput/chromium/cpp/test/address_validator_test.cc |
@@ -34,9 +34,7 @@ class AddressValidatorTest : public testing::Test, public LoadRulesDelegate { |
public: |
AddressValidatorTest() |
: validator_(AddressValidator::Build( |
- scoped_ptr<Downloader>(new FakeDownloader), |
- scoped_ptr<Storage>(new FakeStorage), |
- this)) {} |
+ scoped_ptr<Downloader>(new FakeDownloader), &storage_, this)) {} |
virtual ~AddressValidatorTest() {} |
@@ -47,17 +45,50 @@ class AddressValidatorTest : public testing::Test, public LoadRulesDelegate { |
// LoadRulesDelegate implementation. |
virtual void OnAddressValidationRulesLoaded(const std::string& country_code, |
bool success) { |
+ EXPECT_TRUE(success); |
} |
+ |
+ FakeStorage storage_; |
}; |
TEST_F(AddressValidatorTest, EmptyAddressNoFatalFailure) { |
validator_->LoadRules("US"); |
+ |
+ AddressData address; |
+ address.country_code = "US"; |
+ |
+ AddressProblems problems; |
+ EXPECT_EQ( |
+ AddressValidator::SUCCESS, |
+ validator_->ValidateAddress(address, AddressProblemFilter(), &problems)); |
+} |
+ |
+TEST_F(AddressValidatorTest, USZipCode) { |
+ validator_->LoadRules("US"); |
+ |
AddressData address; |
+ address.address_lines.push_back("340 Main St."); |
+ address.locality = "Venice"; |
+ address.administrative_area = "CA"; |
+ address.postal_code = "12345"; |
address.country_code = "US"; |
+ |
AddressProblems problems; |
EXPECT_EQ( |
AddressValidator::SUCCESS, |
validator_->ValidateAddress(address, AddressProblemFilter(), &problems)); |
+ |
+ ASSERT_EQ(1U, problems.size()); |
+ EXPECT_EQ(problems[0].field, AddressField::POSTAL_CODE); |
+ EXPECT_EQ(problems[0].type, AddressProblem::MISMATCHING_VALUE); |
+ |
+ problems.clear(); |
+ |
+ address.postal_code = "90291"; |
+ EXPECT_EQ( |
+ AddressValidator::SUCCESS, |
+ validator_->ValidateAddress(address, AddressProblemFilter(), &problems)); |
+ EXPECT_EQ(0U, problems.size()); |
} |
} // namespace addressinput |