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

Side by Side Diff: components/autofill/core/browser/credit_card_unittest.cc

Issue 17099006: Validate saved credit card number in interactive autocomplete (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Merge master Created 7 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/guid.h" 6 #include "base/guid.h"
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "components/autofill/core/browser/autofill_common_test.h" 8 #include "components/autofill/core/browser/autofill_common_test.h"
9 #include "components/autofill/core/browser/credit_card.h" 9 #include "components/autofill/core/browser/credit_card.h"
10 #include "components/autofill/core/common/form_field_data.h" 10 #include "components/autofill/core/common/form_field_data.h"
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kValidNumbers[i])); 259 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kValidNumbers[i]));
260 EXPECT_TRUE(card.IsComplete()); 260 EXPECT_TRUE(card.IsComplete());
261 } 261 }
262 for (size_t i = 0; i < arraysize(kInvalidNumbers); ++i) { 262 for (size_t i = 0; i < arraysize(kInvalidNumbers); ++i) {
263 SCOPED_TRACE(kInvalidNumbers[i]); 263 SCOPED_TRACE(kInvalidNumbers[i]);
264 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kInvalidNumbers[i])); 264 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kInvalidNumbers[i]));
265 EXPECT_FALSE(card.IsComplete()); 265 EXPECT_FALSE(card.IsComplete());
266 } 266 }
267 } 267 }
268 268
269 TEST(CreditCardTest, IsValid) {
270 CreditCard card;
271 // Invalid because expired
272 card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1"));
273 card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2010"));
274 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111"));
275 EXPECT_FALSE(card.IsValid());
276
277 // Invalid because card number is not complete
278 card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12"));
279 card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("9999"));
280 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("41111"));
281 EXPECT_FALSE(card.IsValid());
282
283 // Valid
284 card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12"));
285 card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("9999"));
286 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111"));
287 EXPECT_TRUE(card.IsValid());
288 }
289
269 TEST(CreditCardTest, InvalidMastercardNumber) { 290 TEST(CreditCardTest, InvalidMastercardNumber) {
270 CreditCard card(base::GenerateGUID(), "https://www.example.com/"); 291 CreditCard card(base::GenerateGUID(), "https://www.example.com/");
271 292
272 test::SetCreditCardInfo(&card, "Baby Face Nelson", 293 test::SetCreditCardInfo(&card, "Baby Face Nelson",
273 "5200000000000004", "01", "2010"); 294 "5200000000000004", "01", "2010");
274 EXPECT_EQ("genericCC", card.type()); 295 EXPECT_EQ("genericCC", card.type());
275 } 296 }
276 297
277 // Verify that we preserve exactly what the user typed for credit card numbers. 298 // Verify that we preserve exactly what the user typed for credit card numbers.
278 TEST(CreditCardTest, SetRawInfoCreditCardNumber) { 299 TEST(CreditCardTest, SetRawInfoCreditCardNumber) {
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 // Case insensitivity: 503 // Case insensitivity:
483 CreditCard credit_card(base::GenerateGUID(), "https://www.example.com/"); 504 CreditCard credit_card(base::GenerateGUID(), "https://www.example.com/");
484 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, 505 credit_card.SetRawInfo(CREDIT_CARD_NUMBER,
485 ASCIIToUTF16("6011111111111117")); 506 ASCIIToUTF16("6011111111111117"));
486 credit_card.FillSelectControl(CREDIT_CARD_TYPE, "en-US", &field); 507 credit_card.FillSelectControl(CREDIT_CARD_TYPE, "en-US", &field);
487 EXPECT_EQ(ASCIIToUTF16("discover"), field.value); 508 EXPECT_EQ(ASCIIToUTF16("discover"), field.value);
488 } 509 }
489 } 510 }
490 511
491 } // namespace autofill 512 } // namespace autofill
OLDNEW
« no previous file with comments | « components/autofill/core/browser/credit_card.cc ('k') | components/autofill/core/browser/validation.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698