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 |