Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Unified Diff: components/autofill/core/browser/autofill_type_unittest.cc

Issue 22040002: [Autofill] Add a separate enumeration for HTML field type hints. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add docs Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/autofill/core/browser/autofill_type_unittest.cc
diff --git a/components/autofill/core/browser/autofill_type_unittest.cc b/components/autofill/core/browser/autofill_type_unittest.cc
index 2eda787ad7b1a74a4a31b67ffb9d101b9156c16e..2760809e7df43727b918e30f4e8d9d7fa432a39d 100644
--- a/components/autofill/core/browser/autofill_type_unittest.cc
+++ b/components/autofill/core/browser/autofill_type_unittest.cc
@@ -8,47 +8,96 @@
namespace autofill {
namespace {
-TEST(AutofillTypeTest, AutofillTypes) {
+TEST(AutofillTypeTest, NativeFieldTypes) {
// No server data.
AutofillType none(NO_SERVER_DATA);
- EXPECT_EQ(NO_SERVER_DATA, none.native_type());
+ EXPECT_EQ(NO_SERVER_DATA, none.GetEquivalentNativeType());
EXPECT_EQ(NO_GROUP, none.group());
// Unknown type.
AutofillType unknown(UNKNOWN_TYPE);
- EXPECT_EQ(UNKNOWN_TYPE, unknown.native_type());
+ EXPECT_EQ(UNKNOWN_TYPE, unknown.GetEquivalentNativeType());
EXPECT_EQ(NO_GROUP, unknown.group());
// Type with group but no subgroup.
AutofillType first(NAME_FIRST);
- EXPECT_EQ(NAME_FIRST, first.native_type());
+ EXPECT_EQ(NAME_FIRST, first.GetEquivalentNativeType());
EXPECT_EQ(NAME, first.group());
// Type with group and subgroup.
AutofillType phone(PHONE_HOME_NUMBER);
- EXPECT_EQ(PHONE_HOME_NUMBER, phone.native_type());
+ EXPECT_EQ(PHONE_HOME_NUMBER, phone.GetEquivalentNativeType());
EXPECT_EQ(PHONE_HOME, phone.group());
+ // Billing type.
+ AutofillType billing_address(ADDRESS_BILLING_LINE1);
+ EXPECT_EQ(ADDRESS_HOME_LINE1, billing_address.GetEquivalentNativeType());
+ EXPECT_EQ(ADDRESS_BILLING, billing_address.group());
+
// Last value, to check any offset errors.
- AutofillType last(COMPANY_NAME);
- EXPECT_EQ(COMPANY_NAME, last.native_type());
- EXPECT_EQ(COMPANY, last.group());
+ AutofillType last(NAME_BILLING_SUFFIX);
+ EXPECT_EQ(NAME_SUFFIX, last.GetEquivalentNativeType());
+ EXPECT_EQ(NAME_BILLING, last.group());
// Boundary (error) condition.
AutofillType boundary(MAX_VALID_FIELD_TYPE);
- EXPECT_EQ(UNKNOWN_TYPE, boundary.native_type());
+ EXPECT_EQ(UNKNOWN_TYPE, boundary.GetEquivalentNativeType());
EXPECT_EQ(NO_GROUP, boundary.group());
// Beyond the boundary (error) condition.
- AutofillType beyond(static_cast<NativeFieldType>(MAX_VALID_FIELD_TYPE+10));
- EXPECT_EQ(UNKNOWN_TYPE, beyond.native_type());
+ AutofillType beyond(static_cast<NativeFieldType>(MAX_VALID_FIELD_TYPE + 10));
+ EXPECT_EQ(UNKNOWN_TYPE, beyond.GetEquivalentNativeType());
EXPECT_EQ(NO_GROUP, beyond.group());
// In-between value. Missing from enum but within range. Error condition.
AutofillType between(static_cast<NativeFieldType>(16));
- EXPECT_EQ(UNKNOWN_TYPE, between.native_type());
+ EXPECT_EQ(UNKNOWN_TYPE, between.GetEquivalentNativeType());
EXPECT_EQ(NO_GROUP, between.group());
}
+TEST(AutofillTypeTest, HtmlFieldTypes) {
+ // Unknown type.
+ AutofillType unknown(HTML_TYPE_UNKNOWN, HTML_MODE_NONE);
+ EXPECT_EQ(UNKNOWN_TYPE, unknown.GetEquivalentNativeType());
+ EXPECT_EQ(NO_GROUP, unknown.group());
+
+ // Type with group but no subgroup.
+ AutofillType first(HTML_TYPE_GIVEN_NAME, HTML_MODE_NONE);
+ EXPECT_EQ(NAME_FIRST, first.GetEquivalentNativeType());
+ EXPECT_EQ(NAME, first.group());
+
+ // Type with group and subgroup.
+ AutofillType phone(HTML_TYPE_TEL, HTML_MODE_NONE);
+ EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER, phone.GetEquivalentNativeType());
+ EXPECT_EQ(PHONE_HOME, phone.group());
+
+ // Last value, to check any offset errors.
+ AutofillType last(HTML_TYPE_CREDIT_CARD_EXP_4_DIGIT_YEAR, HTML_MODE_NONE);
+ EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, last.GetEquivalentNativeType());
+ EXPECT_EQ(CREDIT_CARD, last.group());
+
+ // Shipping mode.
+ AutofillType shipping_first(HTML_TYPE_GIVEN_NAME, HTML_MODE_SHIPPING);
+ EXPECT_EQ(NAME_FIRST, shipping_first.GetEquivalentNativeType());
+ EXPECT_EQ(NAME, shipping_first.group());
+
+ // Billing mode.
+ AutofillType billing_first(HTML_TYPE_GIVEN_NAME, HTML_MODE_BILLING);
+ EXPECT_EQ(NAME_FIRST, billing_first.GetEquivalentNativeType());
+ EXPECT_EQ(NAME_BILLING, billing_first.group());
+}
+
+TEST(AutofillTypeTest, AsNativeFieldType) {
+ // Given name has a direct mapping to a native field type.
+ AutofillType name(HTML_TYPE_GIVEN_NAME, HTML_MODE_NONE);
+ EXPECT_EQ(NAME_FIRST, name.GetEquivalentNativeType());
+ EXPECT_EQ(NAME_FIRST, name.GetApproximateNativeFieldType());
+
+ // Street address has no direct mapping to a native field type.
+ AutofillType address(HTML_TYPE_STREET_ADDRESS, HTML_MODE_NONE);
+ EXPECT_EQ(UNKNOWN_TYPE, address.GetEquivalentNativeType());
+ EXPECT_EQ(ADDRESS_HOME_LINE1, address.GetApproximateNativeFieldType());
+}
+
} // namespace
} // namespace autofill

Powered by Google App Engine
This is Rietveld 408576698