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

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

Issue 2892813003: Add MATCH_NUMBER to match types when parsing expiration date form field. (Closed)
Patch Set: adds unit-test. Created 3 years, 7 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
« no previous file with comments | « components/autofill/core/browser/credit_card_field.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/autofill/core/browser/credit_card_field_unittest.cc
diff --git a/components/autofill/core/browser/credit_card_field_unittest.cc b/components/autofill/core/browser/credit_card_field_unittest.cc
index bb7b6b252d1b66e9bda787ffa2bbefea9d89ee1f..89c08040abe2137b8f9ac427bc8c31165f1384fb 100644
--- a/components/autofill/core/browser/credit_card_field_unittest.cc
+++ b/components/autofill/core/browser/credit_card_field_unittest.cc
@@ -302,6 +302,7 @@ TEST_F(CreditCardFieldTest, ParseExpMonthYear2) {
}
typedef struct {
+ const std::string cc_fields_form_control_type;
const std::string label;
const int max_length;
const ServerFieldType expected_prediction;
@@ -326,6 +327,7 @@ TEST_P(ParseExpFieldTest, ParseExpField) {
list_.push_back(
base::MakeUnique<AutofillField>(field, ASCIIToUTF16("name1")));
+ field.form_control_type = test_case.cc_fields_form_control_type;
field.label = ASCIIToUTF16("Card Number");
field.name = ASCIIToUTF16("card_number");
list_.push_back(base::MakeUnique<AutofillField>(field, ASCIIToUTF16("num2")));
@@ -375,68 +377,140 @@ INSTANTIATE_TEST_CASE_P(
CreditCardFieldTest,
ParseExpFieldTest,
testing::Values(
+ // CC fields input_type="text"
// General label, no maxlength.
- ParseExpFieldTestCase{"Expiration Date", 0,
+ ParseExpFieldTestCase{"text", "Expiration Date", 0,
CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
// General label, maxlength 4.
- ParseExpFieldTestCase{"Expiration Date", 4,
+ ParseExpFieldTestCase{"text", "Expiration Date", 4,
CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
// General label, maxlength 5.
- ParseExpFieldTestCase{"Expiration Date", 5,
+ ParseExpFieldTestCase{"text", "Expiration Date", 5,
CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
// General label, maxlength 6.
- ParseExpFieldTestCase{"Expiration Date", 6,
+ ParseExpFieldTestCase{"text", "Expiration Date", 6,
CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
// General label, maxlength 7.
- ParseExpFieldTestCase{"Expiration Date", 7,
+ ParseExpFieldTestCase{"text", "Expiration Date", 7,
CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
// General label, large maxlength.
- ParseExpFieldTestCase{"Expiration Date", 12,
+ ParseExpFieldTestCase{"text", "Expiration Date", 12,
CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
// Unsupported maxlength, general label.
- ParseExpFieldTestCase{"Expiration Date", 3, UNKNOWN_TYPE},
+ ParseExpFieldTestCase{"text", "Expiration Date", 3, UNKNOWN_TYPE},
// Unsupported maxlength, two digit year label.
- ParseExpFieldTestCase{"Expiration Date (MM/YY)", 3, UNKNOWN_TYPE},
+ ParseExpFieldTestCase{"text", "Expiration Date (MM/YY)", 3,
+ UNKNOWN_TYPE},
// Unsupported maxlength, four digit year label.
- ParseExpFieldTestCase{"Expiration Date (MM/YYYY)", 3, UNKNOWN_TYPE},
+ ParseExpFieldTestCase{"text", "Expiration Date (MM/YYYY)", 3,
+ UNKNOWN_TYPE},
// Two digit year, simple label.
- ParseExpFieldTestCase{"MM / YY", 0, CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
+ ParseExpFieldTestCase{"text", "MM / YY", 0,
+ CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
+ // Two digit year, with slash (MM/YY).
+ ParseExpFieldTestCase{"text", "Expiration Date (MM/YY)", 0,
+ CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
+ // Two digit year, no slash (MMYY).
+ ParseExpFieldTestCase{"text", "Expiration Date (MMYY)", 4,
+ CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
+ // Two digit year, with slash and maxlength (MM/YY).
+ ParseExpFieldTestCase{"text", "Expiration Date (MM/YY)", 5,
+ CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
+ // Two digit year, with slash and large maxlength (MM/YY).
+ ParseExpFieldTestCase{"text", "Expiration Date (MM/YY)", 12,
+ CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
+
+ // Four digit year, simple label.
+ ParseExpFieldTestCase{"text", "MM / YYYY", 0,
+ CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
+ // Four digit year, with slash (MM/YYYY).
+ ParseExpFieldTestCase{"text", "Expiration Date (MM/YYYY)", 0,
+ CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
+ // Four digit year, no slash (MMYYYY).
+ ParseExpFieldTestCase{"text", "Expiration Date (MMYYYY)", 6,
+ CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
+ // Four digit year, with slash and maxlength (MM/YYYY).
+ ParseExpFieldTestCase{"text", "Expiration Date (MM/YYYY)", 7,
+ CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
+ // Four digit year, with slash and large maxlength (MM/YYYY).
+ ParseExpFieldTestCase{"text", "Expiration Date (MM/YYYY)", 12,
+ CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
+
+ // Four digit year label with restrictive maxlength (4).
+ ParseExpFieldTestCase{"text", "Expiration Date (MM/YYYY)", 4,
+ CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
+ // Four digit year label with restrictive maxlength (5).
+ ParseExpFieldTestCase{"text", "Expiration Date (MM/YYYY)", 5,
+ CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
+
+ // CC fields input_type="number"
+ // General label, no maxlength.
+ ParseExpFieldTestCase{"number", "Expiration Date", 0,
+ CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
+ // General label, maxlength 4.
+ ParseExpFieldTestCase{"number", "Expiration Date", 4,
+ CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
+ // General label, maxlength 5.
+ ParseExpFieldTestCase{"number", "Expiration Date", 5,
+ CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
+ // General label, maxlength 6.
+ ParseExpFieldTestCase{"number", "Expiration Date", 6,
+ CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
+ // General label, maxlength 7.
+ ParseExpFieldTestCase{"number", "Expiration Date", 7,
+ CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
+ // General label, large maxlength.
+ ParseExpFieldTestCase{"number", "Expiration Date", 12,
+ CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
+
+ // Unsupported maxlength, general label.
+ ParseExpFieldTestCase{"number", "Expiration Date", 3, UNKNOWN_TYPE},
+ // Unsupported maxlength, two digit year label.
+ ParseExpFieldTestCase{"number", "Expiration Date (MM/YY)", 3,
+ UNKNOWN_TYPE},
+ // Unsupported maxlength, four digit year label.
+ ParseExpFieldTestCase{"number", "Expiration Date (MM/YYYY)", 3,
+ UNKNOWN_TYPE},
+
+ // Two digit year, simple label.
+ ParseExpFieldTestCase{"number", "MM / YY", 0,
+ CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
// Two digit year, with slash (MM/YY).
- ParseExpFieldTestCase{"Expiration Date (MM/YY)", 0,
+ ParseExpFieldTestCase{"number", "Expiration Date (MM/YY)", 0,
CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
// Two digit year, no slash (MMYY).
- ParseExpFieldTestCase{"Expiration Date (MMYY)", 4,
+ ParseExpFieldTestCase{"number", "Expiration Date (MMYY)", 4,
CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
// Two digit year, with slash and maxlength (MM/YY).
- ParseExpFieldTestCase{"Expiration Date (MM/YY)", 5,
+ ParseExpFieldTestCase{"number", "Expiration Date (MM/YY)", 5,
CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
// Two digit year, with slash and large maxlength (MM/YY).
- ParseExpFieldTestCase{"Expiration Date (MM/YY)", 12,
+ ParseExpFieldTestCase{"number", "Expiration Date (MM/YY)", 12,
CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
// Four digit year, simple label.
- ParseExpFieldTestCase{"MM / YYYY", 0,
+ ParseExpFieldTestCase{"number", "MM / YYYY", 0,
CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
// Four digit year, with slash (MM/YYYY).
- ParseExpFieldTestCase{"Expiration Date (MM/YYYY)", 0,
+ ParseExpFieldTestCase{"number", "Expiration Date (MM/YYYY)", 0,
CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
// Four digit year, no slash (MMYYYY).
- ParseExpFieldTestCase{"Expiration Date (MMYYYY)", 6,
+ ParseExpFieldTestCase{"number", "Expiration Date (MMYYYY)", 6,
CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
// Four digit year, with slash and maxlength (MM/YYYY).
- ParseExpFieldTestCase{"Expiration Date (MM/YYYY)", 7,
+ ParseExpFieldTestCase{"number", "Expiration Date (MM/YYYY)", 7,
CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
// Four digit year, with slash and large maxlength (MM/YYYY).
- ParseExpFieldTestCase{"Expiration Date (MM/YYYY)", 12,
+ ParseExpFieldTestCase{"number", "Expiration Date (MM/YYYY)", 12,
CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR},
// Four digit year label with restrictive maxlength (4).
- ParseExpFieldTestCase{"Expiration Date (MM/YYYY)", 4,
+ ParseExpFieldTestCase{"number", "Expiration Date (MM/YYYY)", 4,
CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR},
// Four digit year label with restrictive maxlength (5).
- ParseExpFieldTestCase{"Expiration Date (MM/YYYY)", 5,
+ ParseExpFieldTestCase{"number", "Expiration Date (MM/YYYY)", 5,
CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR}));
TEST_F(CreditCardFieldTest, ParseCreditCardHolderNameWithCCFullName) {
« no previous file with comments | « components/autofill/core/browser/credit_card_field.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698