summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autofill/phone_field_unittest.cc
diff options
context:
space:
mode:
authorisherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-05 04:01:21 +0000
committerisherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-05 04:01:21 +0000
commit2a958550ec25aeb2da7fa893015133f2aae32f41 (patch)
treedafc82496cf0b1f14d39183b5e9860a8ca255e70 /chrome/browser/autofill/phone_field_unittest.cc
parentbed98da0c1e62387a477903910781f1b54916039 (diff)
downloadchromium_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.cc61
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(