Index: components/autofill/core/browser/credit_card_unittest.cc |
diff --git a/components/autofill/core/browser/credit_card_unittest.cc b/components/autofill/core/browser/credit_card_unittest.cc |
index 2f282578a1514932b6c4e6a568542192d98d774b..7b81dceb5bd3db2c23240127e6d364ad2814db5e 100644 |
--- a/components/autofill/core/browser/credit_card_unittest.cc |
+++ b/components/autofill/core/browser/credit_card_unittest.cc |
@@ -167,6 +167,84 @@ TEST(CreditCardTest, AssignmentOperator) { |
EXPECT_TRUE(a == b); |
} |
+TEST(CreditCardTest, SetExpirationYearFromString) { |
sebsg
2016/07/08 10:01:45
Can you add tests for
1 year digit
3 year digits
Mathieu
2016/07/08 14:27:05
Done.
|
+ CreditCard a(base::GenerateGUID(), "some origin"); |
+ a.SetExpirationYearFromString(ASCIIToUTF16("2040")); |
+ EXPECT_EQ(2040, a.expiration_year()); |
+ |
+ // Test will fail in 2100 (!). |
+ CreditCard b(base::GenerateGUID(), "some origin"); |
+ b.SetExpirationYearFromString(ASCIIToUTF16("45")); |
+ EXPECT_EQ(2045, b.expiration_year()); |
+ |
+ // Invalid value. |
+ CreditCard c(base::GenerateGUID(), "some origin"); |
+ c.SetExpirationYearFromString(ASCIIToUTF16("052045")); |
+ EXPECT_EQ(0, c.expiration_year()); |
+} |
+ |
+TEST(CreditCardTest, SetExpirationDateFromString) { |
sebsg
2016/07/08 10:01:45
Can you add an example with multiple separators? A
Mathieu
2016/07/08 14:27:05
Done.
|
+ CreditCard a(base::GenerateGUID(), "some origin"); |
+ a.SetExpirationDateFromString(ASCIIToUTF16("052045")); |
sebsg
2016/07/08 10:01:45
Can you put all the cases with no separator togeth
Mathieu
2016/07/08 14:27:05
Done.
|
+ EXPECT_EQ(2045, a.expiration_year()); |
+ EXPECT_EQ(5, a.expiration_month()); |
+ |
+ CreditCard b(base::GenerateGUID(), "some origin"); |
+ b.SetExpirationDateFromString(ASCIIToUTF16("05/45")); |
+ EXPECT_EQ(2045, b.expiration_year()); |
+ EXPECT_EQ(5, b.expiration_month()); |
+ |
+ CreditCard c(base::GenerateGUID(), "some origin"); |
+ c.SetExpirationDateFromString(ASCIIToUTF16("05/2045")); |
+ EXPECT_EQ(2045, c.expiration_year()); |
+ EXPECT_EQ(5, c.expiration_month()); |
+ |
+ CreditCard d(base::GenerateGUID(), "some origin"); |
+ d.SetExpirationDateFromString(ASCIIToUTF16("0545")); |
+ EXPECT_EQ(2045, d.expiration_year()); |
+ EXPECT_EQ(5, d.expiration_month()); |
+ |
+ CreditCard e(base::GenerateGUID(), "some origin"); |
+ e.SetExpirationDateFromString(ASCIIToUTF16("05-45")); |
+ EXPECT_EQ(2045, e.expiration_year()); |
+ EXPECT_EQ(5, e.expiration_month()); |
+ |
+ CreditCard f(base::GenerateGUID(), "some origin"); |
+ f.SetExpirationDateFromString(ASCIIToUTF16("05-2045")); |
+ EXPECT_EQ(2045, f.expiration_year()); |
+ EXPECT_EQ(5, f.expiration_month()); |
+ |
+ CreditCard g(base::GenerateGUID(), "some origin"); |
+ g.SetExpirationDateFromString(ASCIIToUTF16("05|45")); |
+ EXPECT_EQ(2045, g.expiration_year()); |
+ EXPECT_EQ(5, g.expiration_month()); |
+ |
+ CreditCard h(base::GenerateGUID(), "some origin"); |
+ h.SetExpirationDateFromString(ASCIIToUTF16("545")); |
+ EXPECT_EQ(2045, h.expiration_year()); |
+ EXPECT_EQ(5, h.expiration_month()); |
+ |
+ CreditCard i(base::GenerateGUID(), "some origin"); |
+ i.SetExpirationDateFromString(ASCIIToUTF16("52045")); |
+ EXPECT_EQ(2045, i.expiration_year()); |
+ EXPECT_EQ(5, i.expiration_month()); |
+ |
+ CreditCard j(base::GenerateGUID(), "some origin"); |
+ j.SetExpirationDateFromString(ASCIIToUTF16("5/2045")); |
+ EXPECT_EQ(2045, j.expiration_year()); |
+ EXPECT_EQ(5, j.expiration_month()); |
+ |
+ CreditCard k(base::GenerateGUID(), "some origin"); |
+ k.SetExpirationDateFromString(ASCIIToUTF16("5-2045")); |
+ EXPECT_EQ(2045, k.expiration_year()); |
+ EXPECT_EQ(5, k.expiration_month()); |
+ |
+ CreditCard l(base::GenerateGUID(), "some origin"); |
+ l.SetExpirationDateFromString(ASCIIToUTF16("5|2045")); |
+ EXPECT_EQ(2045, l.expiration_year()); |
+ EXPECT_EQ(5, l.expiration_month()); |
+} |
+ |
TEST(CreditCardTest, Copy) { |
CreditCard a(base::GenerateGUID(), "https://www.example.com"); |
test::SetCreditCardInfo(&a, "John Dillinger", "123456789012", "01", "2010"); |