| 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 10fa35fba3dfdb0ebf0a0a18faa1d3c11b11995d..f24726e2916fafd84ae072a9b3efc98aec7df807 100644
|
| --- a/components/autofill/core/browser/credit_card_unittest.cc
|
| +++ b/components/autofill/core/browser/credit_card_unittest.cc
|
| @@ -246,6 +246,41 @@ TEST(CreditCardTest, IsLocalDuplicateOfServerCard) {
|
| }
|
| }
|
|
|
| +TEST(CreditCardTest, HasSameNumberAs) {
|
| + CreditCard a(base::GenerateGUID(), std::string());
|
| + CreditCard b(base::GenerateGUID(), std::string());
|
| +
|
| + // Empty cards have the same empty number.
|
| + EXPECT_TRUE(a.HasSameNumberAs(b));
|
| + EXPECT_TRUE(b.HasSameNumberAs(a));
|
| +
|
| + // Same number.
|
| + a.set_record_type(CreditCard::LOCAL_CARD);
|
| + a.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111"));
|
| + a.set_record_type(CreditCard::LOCAL_CARD);
|
| + b.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111"));
|
| + EXPECT_TRUE(a.HasSameNumberAs(b));
|
| + EXPECT_TRUE(b.HasSameNumberAs(a));
|
| +
|
| + // Local cards shouldn't match even if the last 4 are the same.
|
| + a.set_record_type(CreditCard::LOCAL_CARD);
|
| + a.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111"));
|
| + a.set_record_type(CreditCard::LOCAL_CARD);
|
| + b.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111222222221111"));
|
| + EXPECT_FALSE(a.HasSameNumberAs(b));
|
| + EXPECT_FALSE(b.HasSameNumberAs(a));
|
| +
|
| + // Likewise if one is an unmasked server card.
|
| + a.set_record_type(CreditCard::FULL_SERVER_CARD);
|
| + EXPECT_FALSE(a.HasSameNumberAs(b));
|
| + EXPECT_FALSE(b.HasSameNumberAs(a));
|
| +
|
| + // But if one is a masked card, then they should.
|
| + b.set_record_type(CreditCard::MASKED_SERVER_CARD);
|
| + EXPECT_TRUE(a.HasSameNumberAs(b));
|
| + EXPECT_TRUE(b.HasSameNumberAs(a));
|
| +}
|
| +
|
| TEST(CreditCardTest, Compare) {
|
| CreditCard a(base::GenerateGUID(), std::string());
|
| CreditCard b(base::GenerateGUID(), std::string());
|
|
|