summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRouslan Solomakhin <rouslan@chromium.org>2016-01-15 18:08:32 -0800
committerRouslan Solomakhin <rouslan@chromium.org>2016-01-16 02:11:27 +0000
commitfddf2f6d7d99d9bb2fbbf2b9a1e6ce0502423af4 (patch)
tree72ff7d587e2efed32623d1cd5f1e714789f8ca8b
parentfd2d83305e9188775124d87eaf6d4cd2b1a1306d (diff)
downloadchromium_src-fddf2f6d7d99d9bb2fbbf2b9a1e6ce0502423af4.zip
chromium_src-fddf2f6d7d99d9bb2fbbf2b9a1e6ce0502423af4.tar.gz
chromium_src-fddf2f6d7d99d9bb2fbbf2b9a1e6ce0502423af4.tar.bz2
Initialize card expiration when date OCR fails.
BUG=576926 Review URL: https://codereview.chromium.org/1581863002 Cr-Commit-Position: refs/heads/master@{#369514} (cherry picked from commit 72b81a346a3b0304b598c3357952fcf5c5f14738) Review URL: https://codereview.chromium.org/1592953003 . Cr-Commit-Position: refs/branch-heads/2564@{#575} Cr-Branched-From: 1283eca15bd9f772387f75241576cde7bdec7f54-refs/heads/master@{#359700}
-rw-r--r--components/autofill/core/browser/autofill_external_delegate_unittest.cc17
-rw-r--r--components/autofill/core/browser/credit_card.cc29
2 files changed, 20 insertions, 26 deletions
diff --git a/components/autofill/core/browser/autofill_external_delegate_unittest.cc b/components/autofill/core/browser/autofill_external_delegate_unittest.cc
index 120c091..cfafc3b 100644
--- a/components/autofill/core/browser/autofill_external_delegate_unittest.cc
+++ b/components/autofill/core/browser/autofill_external_delegate_unittest.cc
@@ -475,16 +475,25 @@ TEST_F(AutofillExternalDelegateUnitTest, ScanCreditCardPromptMetricsTest) {
}
}
+MATCHER_P3(CreditCardMatches,
+ card_number,
+ expiration_month,
+ expiration_year,
+ "") {
+ return !arg.Compare(
+ CreditCard(card_number, expiration_month, expiration_year));
+}
+
// Test that autofill manager will fill the credit card form after user scans a
// credit card.
TEST_F(AutofillExternalDelegateUnitTest, FillCreditCardForm) {
base::string16 card_number = base::ASCIIToUTF16("test");
int expiration_month = 1;
int expiration_year = 3000;
- EXPECT_CALL(
- *autofill_manager_,
- FillCreditCardForm(
- _, _, _, CreditCard(card_number, expiration_month, expiration_year)));
+ EXPECT_CALL(*autofill_manager_,
+ FillCreditCardForm(
+ _, _, _, CreditCardMatches(card_number, expiration_month,
+ expiration_year)));
external_delegate_->OnCreditCardScanned(card_number, expiration_month,
expiration_year);
}
diff --git a/components/autofill/core/browser/credit_card.cc b/components/autofill/core/browser/credit_card.cc
index 00593e7..18d6122 100644
--- a/components/autofill/core/browser/credit_card.cc
+++ b/components/autofill/core/browser/credit_card.cc
@@ -83,42 +83,27 @@ CreditCard::CreditCard(const std::string& guid, const std::string& origin)
type_(kGenericCard),
expiration_month_(0),
expiration_year_(0),
- server_status_(OK) {
-}
+ server_status_(OK) {}
CreditCard::CreditCard(const base::string16& card_number,
int expiration_month,
int expiration_year)
- : AutofillDataModel(std::string(), std::string()),
- record_type_(LOCAL_CARD),
- server_status_(OK) {
+ : CreditCard() {
SetNumber(card_number);
SetExpirationMonth(expiration_month);
SetExpirationYear(expiration_year);
}
CreditCard::CreditCard(RecordType type, const std::string& server_id)
- : AutofillDataModel(base::GenerateGUID(), std::string()),
- record_type_(type),
- type_(kGenericCard),
- expiration_month_(0),
- expiration_year_(0),
- server_id_(server_id),
- server_status_(OK) {
+ : CreditCard() {
DCHECK(type == MASKED_SERVER_CARD || type == FULL_SERVER_CARD);
+ record_type_ = type;
+ server_id_ = server_id;
}
-CreditCard::CreditCard()
- : AutofillDataModel(base::GenerateGUID(), std::string()),
- record_type_(LOCAL_CARD),
- type_(kGenericCard),
- expiration_month_(0),
- expiration_year_(0),
- server_status_(OK) {
-}
+CreditCard::CreditCard() : CreditCard(base::GenerateGUID(), std::string()) {}
-CreditCard::CreditCard(const CreditCard& credit_card)
- : AutofillDataModel(std::string(), std::string()) {
+CreditCard::CreditCard(const CreditCard& credit_card) : CreditCard() {
operator=(credit_card);
}