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

Side by Side Diff: components/autofill/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: Move credit card validation to credit card class 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/browser/autofill_common_test.h" 8 #include "components/autofill/browser/autofill_common_test.h"
9 #include "components/autofill/browser/credit_card.h" 9 #include "components/autofill/browser/credit_card.h"
10 #include "components/autofill/common/form_field_data.h" 10 #include "components/autofill/common/form_field_data.h"
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kValidNumbers[i])); 242 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kValidNumbers[i]));
243 EXPECT_TRUE(card.IsComplete()); 243 EXPECT_TRUE(card.IsComplete());
244 } 244 }
245 for (size_t i = 0; i < arraysize(kInvalidNumbers); ++i) { 245 for (size_t i = 0; i < arraysize(kInvalidNumbers); ++i) {
246 SCOPED_TRACE(kInvalidNumbers[i]); 246 SCOPED_TRACE(kInvalidNumbers[i]);
247 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kInvalidNumbers[i])); 247 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kInvalidNumbers[i]));
248 EXPECT_FALSE(card.IsComplete()); 248 EXPECT_FALSE(card.IsComplete());
249 } 249 }
250 } 250 }
251 251
252 TEST(CreditCardTest, IsValid) {
253 CreditCard card;
254 // Invalid because expired
255 card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1"));
256 card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2010"));
257 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111"));
258 EXPECT_FALSE(card.IsValid());
259
260 // Invalid because card number is not complete
261 card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12"));
262 card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("9999"));
263 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("41111"));
264 EXPECT_FALSE(card.IsValid());
265
266 // Valid
267 card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12"));
268 card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("9999"));
269 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111"));
270 EXPECT_TRUE(card.IsValid());
271 }
272
252 TEST(CreditCardTest, InvalidMastercardNumber) { 273 TEST(CreditCardTest, InvalidMastercardNumber) {
253 CreditCard card(base::GenerateGUID(), "https://www.example.com/"); 274 CreditCard card(base::GenerateGUID(), "https://www.example.com/");
254 275
255 test::SetCreditCardInfo(&card, "Baby Face Nelson", 276 test::SetCreditCardInfo(&card, "Baby Face Nelson",
256 "5200000000000004", "01", "2010"); 277 "5200000000000004", "01", "2010");
257 EXPECT_EQ("genericCC", card.type()); 278 EXPECT_EQ("genericCC", card.type());
258 } 279 }
259 280
260 // Verify that we preserve exactly what the user typed for credit card numbers. 281 // Verify that we preserve exactly what the user typed for credit card numbers.
261 TEST(CreditCardTest, SetRawInfoCreditCardNumber) { 282 TEST(CreditCardTest, SetRawInfoCreditCardNumber) {
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 // Case insensitivity: 486 // Case insensitivity:
466 CreditCard credit_card(base::GenerateGUID(), "https://www.example.com/"); 487 CreditCard credit_card(base::GenerateGUID(), "https://www.example.com/");
467 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, 488 credit_card.SetRawInfo(CREDIT_CARD_NUMBER,
468 ASCIIToUTF16("6011111111111117")); 489 ASCIIToUTF16("6011111111111117"));
469 credit_card.FillSelectControl(CREDIT_CARD_TYPE, "en-US", &field); 490 credit_card.FillSelectControl(CREDIT_CARD_TYPE, "en-US", &field);
470 EXPECT_EQ(ASCIIToUTF16("discover"), field.value); 491 EXPECT_EQ(ASCIIToUTF16("discover"), field.value);
471 } 492 }
472 } 493 }
473 494
474 } // namespace autofill 495 } // namespace autofill
OLDNEW
« components/autofill/browser/credit_card.cc ('K') | « components/autofill/browser/credit_card.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698