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