| 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());
|
|
|