credit_card_unittest.cc revision 3345a6884c488ff3a535c2c9acdd33d74b37e311
1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/basictypes.h" 63345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "base/utf_string_conversions.h" 7c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/autofill/autofill_common_unittest.h" 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/autofill/credit_card.h" 9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "testing/gtest/include/gtest/gtest.h" 10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace { 12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Tests credit card summary string generation. This test simulates a variety 14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// of different possible summary strings. Variations occur based on the 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// existence of credit card number, month, and year fields. 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochTEST(CreditCardTest, PreviewSummaryAndObfuscatedNumberStrings) { 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Case 0: empty credit card. 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch CreditCard credit_card0(string16(), 0); 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch string16 summary0 = credit_card0.PreviewSummary(); 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch EXPECT_EQ(string16(), summary0); 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch string16 obfuscated0 = credit_card0.ObfuscatedNumber(); 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch EXPECT_EQ(string16(), obfuscated0); 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Case 00: Empty credit card with empty strings. 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch CreditCard credit_card00(string16(), 0); 26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch autofill_unittest::SetCreditCardInfo(&credit_card00, "Corporate", 273345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick "John Dillinger", "Visa", "", "", "", 1); 28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch string16 summary00 = credit_card00.PreviewSummary(); 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch EXPECT_EQ(string16(), summary00); 30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch string16 obfuscated00 = credit_card00.ObfuscatedNumber(); 31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch EXPECT_EQ(string16(), obfuscated00); 32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Case 1: No credit card number. 34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch CreditCard credit_card1(string16(), 0); 35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch autofill_unittest::SetCreditCardInfo(&credit_card1, "Corporate", 363345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick "John Dillinger", "Visa", "", "01", "2010", 1); 37c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch string16 summary1 = credit_card1.PreviewSummary(); 38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch EXPECT_EQ(string16(), summary1); 39c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch string16 obfuscated1 = credit_card1.ObfuscatedNumber(); 40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch EXPECT_EQ(string16(), obfuscated1); 41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 42c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Case 2: No month. 43c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch CreditCard credit_card2(string16(), 0); 44c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch autofill_unittest::SetCreditCardInfo(&credit_card2, "Corporate", 453345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick "John Dillinger", "Visa", "123456789012", "", "2010", 1); 46c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch string16 summary2 = credit_card2.PreviewSummary(); 47c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch EXPECT_EQ(string16(ASCIIToUTF16("************9012")), summary2); 48c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch string16 obfuscated2 = credit_card2.ObfuscatedNumber(); 49c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch EXPECT_EQ(string16(ASCIIToUTF16("************9012")), obfuscated2); 50c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 51c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Case 3: No year. 52c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch CreditCard credit_card3(string16(), 0); 53c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch autofill_unittest::SetCreditCardInfo(&credit_card3, "Corporate", 543345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick "John Dillinger", "Visa", "123456789012", "01", "", 1); 55c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch string16 summary3 = credit_card3.PreviewSummary(); 56c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch EXPECT_EQ(string16(ASCIIToUTF16("************9012")), summary3); 57c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch string16 obfuscated3 = credit_card3.ObfuscatedNumber(); 58c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch EXPECT_EQ(string16(ASCIIToUTF16("************9012")), obfuscated3); 59c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 60c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Case 4: Have everything. 61c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch CreditCard credit_card4(string16(), 0); 62c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch autofill_unittest::SetCreditCardInfo(&credit_card4, "Corporate", 633345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick "John Dillinger", "Visa", "123456789012", "01", "2010", 1); 64c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch string16 summary4 = credit_card4.PreviewSummary(); 65c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch EXPECT_EQ(string16(ASCIIToUTF16("************9012, Exp: 01/2010")), summary4); 66c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch string16 obfuscated4 = credit_card4.ObfuscatedNumber(); 67c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch EXPECT_EQ(string16(ASCIIToUTF16("************9012")), obfuscated4); 68c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 69c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 70c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} // namespace 71c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 72