Update the value of LabelPieces for CreditCard
This CL updates the method of LabelPieces() in CreditCard class to support new FOP display on settings page. Bug: b:401602606 Change-Id: Iea554647613f6757d1113f9ddfb8304c62b2097c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6378663 Reviewed-by: Olivia Saul <jsaul@google.com> Commit-Queue: Qihui Zhao <qihuizhao@google.com> Cr-Commit-Position: refs/heads/main@{#1437947}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
61612ad1cf
commit
6b068b163a
components/autofill/core/browser/data_model/payments
@ -969,6 +969,16 @@ std::pair<std::u16string, std::u16string> CreditCard::LabelPieces() const {
|
||||
return std::make_pair(name_on_card_, std::u16string());
|
||||
}
|
||||
|
||||
if (base::FeatureList::IsEnabled(
|
||||
features::kAutofillEnableNewFopDisplayDesktop)) {
|
||||
if (CardIdentifierForAutofillDisplay().has_value()) {
|
||||
return std::make_pair(CardIdentifierForAutofillDisplay().value(),
|
||||
NetworkAndLastFourDigits(/*obfuscation_length=*/2));
|
||||
}
|
||||
return std::make_pair(NetworkAndLastFourDigits(/*obfuscation_length=*/2),
|
||||
std::u16string());
|
||||
}
|
||||
|
||||
return std::make_pair(CardNameAndLastFourDigits(), name_on_card_);
|
||||
}
|
||||
|
||||
|
@ -1710,6 +1710,40 @@ TEST(CreditCardTest, IsDeletable) {
|
||||
EXPECT_FALSE(card.IsDeletable());
|
||||
}
|
||||
|
||||
TEST(CreditCardTest, LabelPieces_WithNickname) {
|
||||
base::test::ScopedFeatureList feature_list;
|
||||
feature_list.InitAndEnableFeature(
|
||||
features::kAutofillEnableNewFopDisplayDesktop);
|
||||
CreditCard card(base::Uuid::GenerateRandomV4().AsLowercaseString(),
|
||||
"https://www.example.com/");
|
||||
// Set the card as Mastercard.
|
||||
test::SetCreditCardInfo(&card, "John Dillinger", "5105 1051 0510 5100", "01",
|
||||
"2020", "1");
|
||||
card.SetNickname(u"Nickname");
|
||||
const std::u16string network_and_last_four =
|
||||
UTF8ToUTF16(std::string("Mastercard ") +
|
||||
test::ObfuscatedCardDigitsAsUTF8("5100", 2));
|
||||
|
||||
EXPECT_EQ(card.LabelPieces().first, u"Nickname");
|
||||
EXPECT_EQ(card.LabelPieces().second, network_and_last_four);
|
||||
}
|
||||
|
||||
TEST(CreditCardTest, LabelPieces_WithoutNickname) {
|
||||
base::test::ScopedFeatureList feature_list;
|
||||
feature_list.InitAndEnableFeature(
|
||||
features::kAutofillEnableNewFopDisplayDesktop);
|
||||
CreditCard card(base::Uuid::GenerateRandomV4().AsLowercaseString(),
|
||||
"https://www.example.com/");
|
||||
// Set the card as Mastercard.
|
||||
test::SetCreditCardInfo(&card, "John Dillinger", "5105 1051 0510 5100", "01",
|
||||
"2020", "1");
|
||||
const std::u16string network_and_last_four =
|
||||
UTF8ToUTF16(std::string("Mastercard ") +
|
||||
test::ObfuscatedCardDigitsAsUTF8("5100", 2));
|
||||
EXPECT_EQ(card.LabelPieces().first, network_and_last_four);
|
||||
EXPECT_EQ(card.LabelPieces().second, u"");
|
||||
}
|
||||
|
||||
struct CreditCardMatchingTypesCase {
|
||||
CreditCardMatchingTypesCase(const char* value,
|
||||
const char* card_exp_month,
|
||||
|
Reference in New Issue
Block a user