Index: components/autofill/core/browser/address_field_unittest.cc |
diff --git a/components/autofill/core/browser/address_field_unittest.cc b/components/autofill/core/browser/address_field_unittest.cc |
index b8f27ad72a7d4be6e922d7db6bee0c0474f0ecf0..6e63a55d78895df8dd28db062496f9f3625d26af 100644 |
--- a/components/autofill/core/browser/address_field_unittest.cc |
+++ b/components/autofill/core/browser/address_field_unittest.cc |
@@ -21,16 +21,24 @@ class AddressFieldTest : public testing::Test { |
AddressFieldTest() {} |
protected: |
- ScopedVector<AutofillField> list_; |
- scoped_ptr<AddressField> field_; |
- ServerFieldTypeMap field_type_map_; |
- |
// Downcast for tests. |
static scoped_ptr<AddressField> Parse(AutofillScanner* scanner) { |
scoped_ptr<FormField> field = AddressField::Parse(scanner); |
return make_scoped_ptr(static_cast<AddressField*>(field.release())); |
} |
+ void AddDummyCityField() { |
+ FormFieldData field; |
+ field.form_control_type = "text"; |
+ field.label = ASCIIToUTF16("City"); |
+ field.name = ASCIIToUTF16("city"); |
+ list_.push_back(new AutofillField(field, ASCIIToUTF16("city"))); |
+ } |
+ |
+ ScopedVector<AutofillField> list_; |
+ scoped_ptr<AddressField> field_; |
+ ServerFieldTypeMap field_type_map_; |
+ |
private: |
DISALLOW_COPY_AND_ASSIGN(AddressFieldTest); |
}; |
@@ -52,13 +60,22 @@ TEST_F(AddressFieldTest, ParseOneLineAddress) { |
FormFieldData field; |
field.form_control_type = "text"; |
+ // Just an address by itself will not parse successfully. |
field.label = ASCIIToUTF16("Address"); |
field.name = ASCIIToUTF16("address"); |
list_.push_back(new AutofillField(field, ASCIIToUTF16("addr1"))); |
+ { |
+ AutofillScanner scanner(list_.get()); |
+ field_ = Parse(&scanner); |
+ ASSERT_EQ(nullptr, field_.get()); |
+ } |
+ |
+ AddDummyCityField(); |
AutofillScanner scanner(list_.get()); |
field_ = Parse(&scanner); |
ASSERT_NE(nullptr, field_.get()); |
+ |
ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
ASSERT_TRUE( |
field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
@@ -77,6 +94,7 @@ TEST_F(AddressFieldTest, ParseTwoLineAddress) { |
field.name = ASCIIToUTF16("address2"); |
list_.push_back(new AutofillField(field, ASCIIToUTF16("addr2"))); |
+ AddDummyCityField(); |
AutofillScanner scanner(list_.get()); |
field_ = Parse(&scanner); |
ASSERT_NE(nullptr, field_.get()); |
@@ -105,6 +123,7 @@ TEST_F(AddressFieldTest, ParseThreeLineAddress) { |
field.name = ASCIIToUTF16("Address3"); |
list_.push_back(new AutofillField(field, ASCIIToUTF16("addr3"))); |
+ AddDummyCityField(); |
AutofillScanner scanner(list_.get()); |
field_ = Parse(&scanner); |
ASSERT_NE(nullptr, field_.get()); |
@@ -128,6 +147,7 @@ TEST_F(AddressFieldTest, ParseStreetAddressFromTextArea) { |
field.name = ASCIIToUTF16("address"); |
list_.push_back(new AutofillField(field, ASCIIToUTF16("addr"))); |
+ AddDummyCityField(); |
AutofillScanner scanner(list_.get()); |
field_ = Parse(&scanner); |
ASSERT_NE(nullptr, field_.get()); |