| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/scoped_ptr.h" | 5 #include "base/scoped_ptr.h" |
| 6 #include "base/scoped_vector.h" | 6 #include "base/scoped_vector.h" |
| 7 #include "chrome/browser/autofill/address_field.h" | 7 #include "chrome/browser/autofill/address_field.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 #include "webkit/glue/form_field.h" | 9 #include "webkit/glue/form_field.h" |
| 10 | 10 |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 new AutoFillField(webkit_glue::FormField(ASCIIToUTF16("Address"), | 44 new AutoFillField(webkit_glue::FormField(ASCIIToUTF16("Address"), |
| 45 ASCIIToUTF16("address"), | 45 ASCIIToUTF16("address"), |
| 46 string16(), | 46 string16(), |
| 47 ASCIIToUTF16("text"), | 47 ASCIIToUTF16("text"), |
| 48 0), | 48 0), |
| 49 ASCIIToUTF16("addr1"))); | 49 ASCIIToUTF16("addr1"))); |
| 50 list_.push_back(NULL); | 50 list_.push_back(NULL); |
| 51 iter_ = list_.begin(); | 51 iter_ = list_.begin(); |
| 52 field_.reset(AddressField::Parse(&iter_, false)); | 52 field_.reset(AddressField::Parse(&iter_, false)); |
| 53 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 53 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 54 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 55 EXPECT_TRUE(field_->IsFullAddress()); |
| 56 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); |
| 57 ASSERT_TRUE( |
| 58 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 59 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 60 } |
| 61 |
| 62 TEST_F(AddressFieldTest, ParseOneLineAddressBilling) { |
| 63 list_.push_back( |
| 64 new AutoFillField(webkit_glue::FormField(ASCIIToUTF16("Address"), |
| 65 ASCIIToUTF16("billingAddress"), |
| 66 string16(), |
| 67 ASCIIToUTF16("text"), |
| 68 0), |
| 69 ASCIIToUTF16("addr1"))); |
| 70 list_.push_back(NULL); |
| 71 iter_ = list_.begin(); |
| 72 field_.reset(AddressField::Parse(&iter_, false)); |
| 73 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 74 EXPECT_EQ(kBillingAddress, field_->FindType()); |
| 75 EXPECT_TRUE(field_->IsFullAddress()); |
| 76 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); |
| 77 ASSERT_TRUE( |
| 78 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 79 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 80 } |
| 81 |
| 82 TEST_F(AddressFieldTest, ParseOneLineAddressShipping) { |
| 83 list_.push_back( |
| 84 new AutoFillField(webkit_glue::FormField(ASCIIToUTF16("Address"), |
| 85 ASCIIToUTF16("shippingAddress"), |
| 86 string16(), |
| 87 ASCIIToUTF16("text"), |
| 88 0), |
| 89 ASCIIToUTF16("addr1"))); |
| 90 list_.push_back(NULL); |
| 91 iter_ = list_.begin(); |
| 92 field_.reset(AddressField::Parse(&iter_, false)); |
| 93 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 54 EXPECT_EQ(kShippingAddress, field_->FindType()); | 94 EXPECT_EQ(kShippingAddress, field_->FindType()); |
| 55 EXPECT_TRUE(field_->IsFullAddress()); | 95 EXPECT_TRUE(field_->IsFullAddress()); |
| 56 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 96 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); |
| 57 ASSERT_TRUE( | 97 ASSERT_TRUE( |
| 58 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 98 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 59 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 99 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 60 } | 100 } |
| 61 | 101 |
| 62 TEST_F(AddressFieldTest, ParseOneLineAddressEcml) { | 102 TEST_F(AddressFieldTest, ParseOneLineAddressEcml) { |
| 63 list_.push_back( | 103 list_.push_back( |
| (...skipping 27 matching lines...) Expand all Loading... |
| 91 new AutoFillField(webkit_glue::FormField(string16(), | 131 new AutoFillField(webkit_glue::FormField(string16(), |
| 92 string16(), | 132 string16(), |
| 93 string16(), | 133 string16(), |
| 94 ASCIIToUTF16("text"), | 134 ASCIIToUTF16("text"), |
| 95 0), | 135 0), |
| 96 ASCIIToUTF16("addr2"))); | 136 ASCIIToUTF16("addr2"))); |
| 97 list_.push_back(NULL); | 137 list_.push_back(NULL); |
| 98 iter_ = list_.begin(); | 138 iter_ = list_.begin(); |
| 99 field_.reset(AddressField::Parse(&iter_, false)); | 139 field_.reset(AddressField::Parse(&iter_, false)); |
| 100 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 140 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 101 EXPECT_EQ(kShippingAddress, field_->FindType()); | 141 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 102 EXPECT_TRUE(field_->IsFullAddress()); | 142 EXPECT_TRUE(field_->IsFullAddress()); |
| 103 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 143 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); |
| 104 ASSERT_TRUE( | 144 ASSERT_TRUE( |
| 105 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 145 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 106 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 146 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 107 ASSERT_TRUE( | 147 ASSERT_TRUE( |
| 108 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); | 148 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); |
| 109 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); | 149 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); |
| 110 } | 150 } |
| 111 | 151 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 128 new AutoFillField(webkit_glue::FormField(ASCIIToUTF16("Address Line3"), | 168 new AutoFillField(webkit_glue::FormField(ASCIIToUTF16("Address Line3"), |
| 129 ASCIIToUTF16("Address"), | 169 ASCIIToUTF16("Address"), |
| 130 string16(), | 170 string16(), |
| 131 ASCIIToUTF16("text"), | 171 ASCIIToUTF16("text"), |
| 132 0), | 172 0), |
| 133 ASCIIToUTF16("addr3"))); | 173 ASCIIToUTF16("addr3"))); |
| 134 list_.push_back(NULL); | 174 list_.push_back(NULL); |
| 135 iter_ = list_.begin(); | 175 iter_ = list_.begin(); |
| 136 field_.reset(AddressField::Parse(&iter_, false)); | 176 field_.reset(AddressField::Parse(&iter_, false)); |
| 137 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 177 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 138 EXPECT_EQ(kShippingAddress, field_->FindType()); | 178 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 139 EXPECT_TRUE(field_->IsFullAddress()); | 179 EXPECT_TRUE(field_->IsFullAddress()); |
| 140 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 180 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); |
| 141 ASSERT_TRUE( | 181 ASSERT_TRUE( |
| 142 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 182 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 143 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 183 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 144 ASSERT_TRUE( | 184 ASSERT_TRUE( |
| 145 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); | 185 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); |
| 146 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); | 186 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); |
| 147 ASSERT_TRUE( | 187 ASSERT_TRUE( |
| 148 field_type_map_.find(ASCIIToUTF16("addr3")) == field_type_map_.end()); | 188 field_type_map_.find(ASCIIToUTF16("addr3")) == field_type_map_.end()); |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 350 new AutoFillField(webkit_glue::FormField(string16(), | 390 new AutoFillField(webkit_glue::FormField(string16(), |
| 351 ASCIIToUTF16("bogus"), | 391 ASCIIToUTF16("bogus"), |
| 352 string16(), | 392 string16(), |
| 353 ASCIIToUTF16("text"), | 393 ASCIIToUTF16("text"), |
| 354 0), | 394 0), |
| 355 ASCIIToUTF16("addr2"))); | 395 ASCIIToUTF16("addr2"))); |
| 356 list_.push_back(NULL); | 396 list_.push_back(NULL); |
| 357 iter_ = list_.begin(); | 397 iter_ = list_.begin(); |
| 358 field_.reset(AddressField::Parse(&iter_, false)); | 398 field_.reset(AddressField::Parse(&iter_, false)); |
| 359 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 399 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 360 EXPECT_EQ(kShippingAddress, field_->FindType()); | 400 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 361 EXPECT_TRUE(field_->IsFullAddress()); | 401 EXPECT_TRUE(field_->IsFullAddress()); |
| 362 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 402 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); |
| 363 ASSERT_TRUE( | 403 ASSERT_TRUE( |
| 364 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 404 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 365 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 405 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 366 ASSERT_FALSE( | 406 ASSERT_FALSE( |
| 367 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); | 407 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); |
| 368 // The second line of the address should not match if |name| is set but | 408 // The second line of the address should not match if |name| is set but |
| 369 // |label| is empty. | 409 // |label| is empty. |
| 370 EXPECT_NE(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); | 410 EXPECT_NE(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 444 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 405 EXPECT_EQ(kGenericAddress, field_->FindType()); | 445 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 406 EXPECT_FALSE(field_->IsFullAddress()); | 446 EXPECT_FALSE(field_->IsFullAddress()); |
| 407 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 447 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); |
| 408 ASSERT_TRUE( | 448 ASSERT_TRUE( |
| 409 field_type_map_.find(ASCIIToUTF16("company1")) != field_type_map_.end()); | 449 field_type_map_.find(ASCIIToUTF16("company1")) != field_type_map_.end()); |
| 410 EXPECT_EQ(COMPANY_NAME, field_type_map_[ASCIIToUTF16("company1")]); | 450 EXPECT_EQ(COMPANY_NAME, field_type_map_[ASCIIToUTF16("company1")]); |
| 411 } | 451 } |
| 412 | 452 |
| 413 } // namespace | 453 } // namespace |
| OLD | NEW |