diff options
author | isherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-05 04:01:21 +0000 |
---|---|---|
committer | isherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-05 04:01:21 +0000 |
commit | 2a958550ec25aeb2da7fa893015133f2aae32f41 (patch) | |
tree | dafc82496cf0b1f14d39183b5e9860a8ca255e70 /chrome/browser/autofill/phone_field_unittest.cc | |
parent | bed98da0c1e62387a477903910781f1b54916039 (diff) | |
download | chromium_src-2a958550ec25aeb2da7fa893015133f2aae32f41.zip chromium_src-2a958550ec25aeb2da7fa893015133f2aae32f41.tar.gz chromium_src-2a958550ec25aeb2da7fa893015133f2aae32f41.tar.bz2 |
Refactor Autofill parsing code. Most notably, add a helper class for parsing with lookahead.
* Adds an AutofillScanner class to help with lookahead parsing.
* Remove the NULL-termination from FormStructure's fields vector
* Remove some redundant DCHECKs
* Refactor PersonalDataManager::ImportFormData() to take a single form, not a vector of forms.
* Move EmailField class to its own file
* Remove some obsolete billing/shipping address distinguishing code
* Refactor the code to remove the really wonky FormFieldSet() class
* Refactor some interfaces to take |size_t| rather than |int|
* Remove some unused fields from FormStructure
* Const-correctness
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6910018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84211 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autofill/phone_field_unittest.cc')
-rw-r--r-- | chrome/browser/autofill/phone_field_unittest.cc | 61 |
1 files changed, 25 insertions, 36 deletions
diff --git a/chrome/browser/autofill/phone_field_unittest.cc b/chrome/browser/autofill/phone_field_unittest.cc index daa598b..d8cfba7 100644 --- a/chrome/browser/autofill/phone_field_unittest.cc +++ b/chrome/browser/autofill/phone_field_unittest.cc @@ -6,6 +6,7 @@ #include "base/memory/scoped_vector.h" #include "base/utf_string_conversions.h" #include "chrome/browser/autofill/autofill_field.h" +#include "chrome/browser/autofill/autofill_scanner.h" #include "chrome/browser/autofill/phone_field.h" #include "testing/gtest/include/gtest/gtest.h" #include "webkit/glue/form_field.h" @@ -27,17 +28,15 @@ class PhoneFieldTest : public testing::Test { }; TEST_F(PhoneFieldTest, Empty) { - list_.push_back(NULL); - iter_ = list_.begin(); - field_.reset(PhoneField::Parse(&iter_, false)); + AutofillScanner scanner(list_.get()); + field_.reset(PhoneField::Parse(&scanner, false)); ASSERT_EQ(static_cast<PhoneField*>(NULL), field_.get()); } TEST_F(PhoneFieldTest, NonParse) { list_.push_back(new AutofillField); - list_.push_back(NULL); - iter_ = list_.begin(); - field_.reset(PhoneField::Parse(&iter_, false)); + AutofillScanner scanner(list_.get()); + field_.reset(PhoneField::Parse(&scanner, false)); ASSERT_EQ(static_cast<PhoneField*>(NULL), field_.get()); } @@ -50,9 +49,8 @@ TEST_F(PhoneFieldTest, ParseOneLinePhone) { 0, false), ASCIIToUTF16("phone1"))); - list_.push_back(NULL); - iter_ = list_.begin(); - field_.reset(PhoneField::Parse(&iter_, false)); + AutofillScanner scanner(list_.get()); + field_.reset(PhoneField::Parse(&scanner, false)); ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); ASSERT_TRUE( @@ -69,9 +67,8 @@ TEST_F(PhoneFieldTest, ParseOneLinePhoneEcml) { 0, false), ASCIIToUTF16("phone1"))); - list_.push_back(NULL); - iter_ = list_.begin(); - field_.reset(PhoneField::Parse(&iter_, true)); + AutofillScanner scanner(list_.get()); + field_.reset(PhoneField::Parse(&scanner, true)); ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); ASSERT_TRUE( @@ -96,9 +93,8 @@ TEST_F(PhoneFieldTest, ParseTwoLinePhone) { 0, false), ASCIIToUTF16("phone1"))); - list_.push_back(NULL); - iter_ = list_.begin(); - field_.reset(PhoneField::Parse(&iter_, false)); + AutofillScanner scanner(list_.get()); + field_.reset(PhoneField::Parse(&scanner, false)); ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); ASSERT_TRUE( @@ -127,9 +123,8 @@ TEST_F(PhoneFieldTest, ParseTwoLinePhoneEcmlShipTo) { 0, false), ASCIIToUTF16("phone1"))); - list_.push_back(NULL); - iter_ = list_.begin(); - field_.reset(PhoneField::Parse(&iter_, false)); + AutofillScanner scanner(list_.get()); + field_.reset(PhoneField::Parse(&scanner, false)); ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); ASSERT_TRUE( @@ -158,9 +153,8 @@ TEST_F(PhoneFieldTest, ParseTwoLinePhoneEcmlBillTo) { 0, false), ASCIIToUTF16("phone1"))); - list_.push_back(NULL); - iter_ = list_.begin(); - field_.reset(PhoneField::Parse(&iter_, false)); + AutofillScanner scanner(list_.get()); + field_.reset(PhoneField::Parse(&scanner, false)); ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); ASSERT_TRUE( @@ -209,9 +203,8 @@ TEST_F(PhoneFieldTest, ThreePartPhoneNumber) { 0, false), ASCIIToUTF16("ext1"))); - list_.push_back(NULL); - iter_ = list_.begin(); - field_.reset(PhoneField::Parse(&iter_, false)); + AutofillScanner scanner(list_.get()); + field_.reset(PhoneField::Parse(&scanner, false)); ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); ASSERT_TRUE( @@ -253,9 +246,8 @@ TEST_F(PhoneFieldTest, ThreePartPhoneNumberPrefixSuffix) { 0, false), ASCIIToUTF16("suffix1"))); - list_.push_back(NULL); - iter_ = list_.begin(); - field_.reset(PhoneField::Parse(&iter_, false)); + AutofillScanner scanner(list_.get()); + field_.reset(PhoneField::Parse(&scanner, false)); ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); ASSERT_TRUE( @@ -278,9 +270,8 @@ TEST_F(PhoneFieldTest, ParseOneLineFax) { 0, false), ASCIIToUTF16("fax1"))); - list_.push_back(NULL); - iter_ = list_.begin(); - field_.reset(PhoneField::Parse(&iter_, false)); + AutofillScanner scanner(list_.get()); + field_.reset(PhoneField::Parse(&scanner, false)); ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); ASSERT_TRUE( @@ -305,9 +296,8 @@ TEST_F(PhoneFieldTest, ParseTwoLineFax) { 0, false), ASCIIToUTF16("fax1"))); - list_.push_back(NULL); - iter_ = list_.begin(); - field_.reset(PhoneField::Parse(&iter_, false)); + AutofillScanner scanner(list_.get()); + field_.reset(PhoneField::Parse(&scanner, false)); ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); ASSERT_TRUE( @@ -344,9 +334,8 @@ TEST_F(PhoneFieldTest, ThreePartFaxNumberPrefixSuffix) { 0, false), ASCIIToUTF16("suffix1"))); - list_.push_back(NULL); - iter_ = list_.begin(); - field_.reset(PhoneField::Parse(&iter_, false)); + AutofillScanner scanner(list_.get()); + field_.reset(PhoneField::Parse(&scanner, false)); ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); ASSERT_TRUE( |