Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(130)

Side by Side Diff: components/autofill/core/browser/personal_data_manager_unittest.cc

Issue 1867523003: [Autofill] Suggest expired credit cards last. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Refactored CC suggestions to use IsExpired Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/autofill/core/browser/personal_data_manager.h" 5 #include "components/autofill/core/browser/personal_data_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 // different: two are from different companies and the third doesn't have a 224 // different: two are from different companies and the third doesn't have a
225 // number. All three have different owners and credit card number. This allows 225 // number. All three have different owners and credit card number. This allows
226 // to test the suggestions based on name as well as on credit card number. 226 // to test the suggestions based on name as well as on credit card number.
227 void SetupReferenceLocalCreditCards() { 227 void SetupReferenceLocalCreditCards() {
228 ASSERT_EQ(0U, personal_data_->GetCreditCards().size()); 228 ASSERT_EQ(0U, personal_data_->GetCreditCards().size());
229 229
230 CreditCard credit_card0("287151C8-6AB1-487C-9095-28E80BE5DA15", 230 CreditCard credit_card0("287151C8-6AB1-487C-9095-28E80BE5DA15",
231 "https://www.example.com"); 231 "https://www.example.com");
232 test::SetCreditCardInfo(&credit_card0, "Clyde Barrow", 232 test::SetCreditCardInfo(&credit_card0, "Clyde Barrow",
233 "347666888555" /* American Express */, "04", 233 "347666888555" /* American Express */, "04",
234 "2015"); 234 "2099");
235 credit_card0.set_use_count(3); 235 credit_card0.set_use_count(3);
236 credit_card0.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(1)); 236 credit_card0.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(1));
237 personal_data_->AddCreditCard(credit_card0); 237 personal_data_->AddCreditCard(credit_card0);
238 238
239 CreditCard credit_card1("1141084B-72D7-4B73-90CF-3D6AC154673B", 239 CreditCard credit_card1("1141084B-72D7-4B73-90CF-3D6AC154673B",
240 "https://www.example.com"); 240 "https://www.example.com");
241 credit_card1.set_use_count(300); 241 credit_card1.set_use_count(300);
242 credit_card1.set_use_date(base::Time::Now() - 242 credit_card1.set_use_date(base::Time::Now() -
243 base::TimeDelta::FromDays(10)); 243 base::TimeDelta::FromDays(10));
244 test::SetCreditCardInfo(&credit_card1, "John Dillinger", 244 test::SetCreditCardInfo(&credit_card1, "John Dillinger",
245 "423456789012" /* Visa */, "01", "2010"); 245 "423456789012" /* Visa */, "01", "2100");
246 personal_data_->AddCreditCard(credit_card1); 246 personal_data_->AddCreditCard(credit_card1);
247 247
248 CreditCard credit_card2("002149C1-EE28-4213-A3B9-DA243FFF021B", 248 CreditCard credit_card2("002149C1-EE28-4213-A3B9-DA243FFF021B",
249 "https://www.example.com"); 249 "https://www.example.com");
250 credit_card2.set_use_count(1); 250 credit_card2.set_use_count(1);
251 credit_card2.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(1)); 251 credit_card2.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(1));
252 test::SetCreditCardInfo(&credit_card2, "Bonnie Parker", 252 test::SetCreditCardInfo(&credit_card2, "Bonnie Parker",
253 "518765432109" /* Mastercard */, "", ""); 253 "518765432109" /* Mastercard */, "", "");
254 personal_data_->AddCreditCard(credit_card2); 254 personal_data_->AddCreditCard(credit_card2);
255 255
(...skipping 3044 matching lines...) Expand 10 before | Expand all | Expand 10 after
3300 // Test that local and server cards are ordered as expected. 3300 // Test that local and server cards are ordered as expected.
3301 TEST_F(PersonalDataManagerTest, 3301 TEST_F(PersonalDataManagerTest,
3302 GetCreditCardSuggestions_LocalAndServerCardsRanking) { 3302 GetCreditCardSuggestions_LocalAndServerCardsRanking) {
3303 EnableWalletCardImport(); 3303 EnableWalletCardImport();
3304 SetupReferenceLocalCreditCards(); 3304 SetupReferenceLocalCreditCards();
3305 3305
3306 // Add some server cards. 3306 // Add some server cards.
3307 std::vector<CreditCard> server_cards; 3307 std::vector<CreditCard> server_cards;
3308 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b459")); 3308 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b459"));
3309 test::SetCreditCardInfo(&server_cards.back(), "Emmet Dalton", "2110", "12", 3309 test::SetCreditCardInfo(&server_cards.back(), "Emmet Dalton", "2110", "12",
3310 "2012"); 3310 "2112");
3311 server_cards.back().set_use_count(2); 3311 server_cards.back().set_use_count(2);
3312 server_cards.back().set_use_date(base::Time::Now() - 3312 server_cards.back().set_use_date(base::Time::Now() -
3313 base::TimeDelta::FromDays(1)); 3313 base::TimeDelta::FromDays(1));
3314 server_cards.back().SetTypeForMaskedCard(kVisaCard); 3314 server_cards.back().SetTypeForMaskedCard(kVisaCard);
3315 3315
3316 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "b460")); 3316 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "b460"));
3317 test::SetCreditCardInfo(&server_cards.back(), "Jesse James", "2109", "12", 3317 test::SetCreditCardInfo(&server_cards.back(), "Jesse James", "2109", "12",
3318 "2012"); 3318 "2112");
3319 server_cards.back().set_use_count(6); 3319 server_cards.back().set_use_count(6);
3320 server_cards.back().set_use_date(base::Time::Now() - 3320 server_cards.back().set_use_date(base::Time::Now() -
3321 base::TimeDelta::FromDays(1)); 3321 base::TimeDelta::FromDays(1));
3322 3322
3323 test::SetServerCreditCards(autofill_table_, server_cards); 3323 test::SetServerCreditCards(autofill_table_, server_cards);
3324 personal_data_->Refresh(); 3324 personal_data_->Refresh();
3325 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) 3325 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
3326 .WillOnce(QuitMainMessageLoop()); 3326 .WillOnce(QuitMainMessageLoop());
3327 base::MessageLoop::current()->Run(); 3327 base::MessageLoop::current()->Run();
3328 3328
3329 std::vector<Suggestion> suggestions = 3329 std::vector<Suggestion> suggestions =
3330 personal_data_->GetCreditCardSuggestions( 3330 personal_data_->GetCreditCardSuggestions(
3331 AutofillType(CREDIT_CARD_NAME_FULL), 3331 AutofillType(CREDIT_CARD_NAME_FULL),
3332 /* field_contents= */ base::string16()); 3332 /* field_contents= */ base::string16());
3333 ASSERT_EQ(5U, suggestions.size()); 3333 ASSERT_EQ(5U, suggestions.size());
3334 3334
3335 // All cards should be ordered as expected. 3335 // All cards should be ordered as expected.
3336 EXPECT_EQ(ASCIIToUTF16("Jesse James"), suggestions[0].value); 3336 EXPECT_EQ(ASCIIToUTF16("Jesse James"), suggestions[0].value);
3337 EXPECT_EQ(ASCIIToUTF16("John Dillinger"), suggestions[1].value); 3337 EXPECT_EQ(ASCIIToUTF16("John Dillinger"), suggestions[1].value);
3338 EXPECT_EQ(ASCIIToUTF16("Clyde Barrow"), suggestions[2].value); 3338 EXPECT_EQ(ASCIIToUTF16("Clyde Barrow"), suggestions[2].value);
3339 EXPECT_EQ(ASCIIToUTF16("Emmet Dalton"), suggestions[3].value); 3339 EXPECT_EQ(ASCIIToUTF16("Emmet Dalton"), suggestions[3].value);
3340 EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[4].value); 3340 EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[4].value);
3341 } 3341 }
3342 3342
3343 // Test that an expired card gets suggested last, even if it has the highest
3344 // frecency score.
3345 TEST_F(PersonalDataManagerTest, GetCreditCardSuggestions_ExpiredCardIsLast) {
3346 ASSERT_EQ(0U, personal_data_->GetCreditCards().size());
3347
3348 // Add an often used expired card.
3349 CreditCard credit_card0("287151C8-6AB1-487C-9095-28E80BE5DA15",
3350 "https://www.example.com");
3351 test::SetCreditCardInfo(&credit_card0, "Clyde Barrow",
3352 "347666888555" /* American Express */, "04", "1999");
3353 credit_card0.set_use_count(300000);
3354 credit_card0.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(1));
3355 personal_data_->AddCreditCard(credit_card0);
3356
3357 // Add less used non expired card.
3358 CreditCard credit_card1("1141084B-72D7-4B73-90CF-3D6AC154673B",
3359 "https://www.example.com");
3360 credit_card1.set_use_count(300);
3361 credit_card1.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(10));
3362 test::SetCreditCardInfo(&credit_card1, "John Dillinger",
3363 "423456789012" /* Visa */, "01", "2100");
3364 personal_data_->AddCreditCard(credit_card1);
3365
3366 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
3367 .WillOnce(QuitMainMessageLoop());
3368 base::MessageLoop::current()->Run();
3369
3370 ASSERT_EQ(2U, personal_data_->GetCreditCards().size());
3371
3372 std::vector<Suggestion> suggestions =
3373 personal_data_->GetCreditCardSuggestions(
3374 AutofillType(CREDIT_CARD_NAME_FULL),
3375 /* field_contents= */ base::string16());
3376 ASSERT_EQ(2U, suggestions.size());
3377
3378 // The expired card is expected to be last.
3379 EXPECT_EQ(ASCIIToUTF16("John Dillinger"), suggestions[0].value);
3380 EXPECT_EQ(ASCIIToUTF16("Clyde Barrow"), suggestions[1].value);
3381 }
3382
3383 // Test that expired cards are ordered by frecency.
Mathieu 2016/04/07 16:57:54 Can we add a test where there is - a non expired
sebsg 2016/04/07 18:26:06 Done.
3384 TEST_F(PersonalDataManagerTest,
3385 GetCreditCardSuggestions_ExpiredCardsOrderedByFrecency) {
3386 ASSERT_EQ(0U, personal_data_->GetCreditCards().size());
3387
3388 // Add a recently used expired card.
3389 CreditCard credit_card0("287151C8-6AB1-487C-9095-28E80BE5DA15",
3390 "https://www.example.com");
3391 test::SetCreditCardInfo(&credit_card0, "Clyde Barrow",
3392 "347666888555" /* American Express */, "04", "1999");
3393 credit_card0.set_use_count(300);
3394 credit_card0.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(1));
3395 personal_data_->AddCreditCard(credit_card0);
3396
3397 // Add a less recently used expired card.
3398 CreditCard credit_card1("1141084B-72D7-4B73-90CF-3D6AC154673B",
3399 "https://www.example.com");
3400 credit_card1.set_use_count(300);
3401 credit_card1.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(10));
3402 test::SetCreditCardInfo(&credit_card1, "John Dillinger",
3403 "423456789012" /* Visa */, "01", "1998");
3404 personal_data_->AddCreditCard(credit_card1);
3405
3406 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
3407 .WillOnce(QuitMainMessageLoop());
3408 base::MessageLoop::current()->Run();
3409
3410 ASSERT_EQ(2U, personal_data_->GetCreditCards().size());
3411
3412 std::vector<Suggestion> suggestions =
3413 personal_data_->GetCreditCardSuggestions(
3414 AutofillType(CREDIT_CARD_NAME_FULL),
3415 /* field_contents= */ base::string16());
3416 ASSERT_EQ(2U, suggestions.size());
3417
3418 // The expired cards should be sorted by frecency
3419 EXPECT_EQ(ASCIIToUTF16("Clyde Barrow"), suggestions[0].value);
3420 EXPECT_EQ(ASCIIToUTF16("John Dillinger"), suggestions[1].value);
3421 }
3422
3343 // Test that a card that doesn't have a number is not shown in the suggestions 3423 // Test that a card that doesn't have a number is not shown in the suggestions
3344 // when querying credit cards by their number. 3424 // when querying credit cards by their number.
3345 TEST_F(PersonalDataManagerTest, GetCreditCardSuggestions_NumberMissing) { 3425 TEST_F(PersonalDataManagerTest, GetCreditCardSuggestions_NumberMissing) {
3346 // Create one normal credit card and one credit card with the number missing. 3426 // Create one normal credit card and one credit card with the number missing.
3347 ASSERT_EQ(0U, personal_data_->GetCreditCards().size()); 3427 ASSERT_EQ(0U, personal_data_->GetCreditCards().size());
3348 3428
3349 CreditCard credit_card0("287151C8-6AB1-487C-9095-28E80BE5DA15", 3429 CreditCard credit_card0("287151C8-6AB1-487C-9095-28E80BE5DA15",
3350 "https://www.example.com"); 3430 "https://www.example.com");
3351 test::SetCreditCardInfo(&credit_card0, "Clyde Barrow", 3431 test::SetCreditCardInfo(&credit_card0, "Clyde Barrow",
3352 "347666888555" /* American Express */, "04", "2015"); 3432 "347666888555" /* American Express */, "04", "2099");
3353 credit_card0.set_use_count(3); 3433 credit_card0.set_use_count(3);
3354 credit_card0.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(1)); 3434 credit_card0.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(1));
3355 personal_data_->AddCreditCard(credit_card0); 3435 personal_data_->AddCreditCard(credit_card0);
3356 3436
3357 CreditCard credit_card1("1141084B-72D7-4B73-90CF-3D6AC154673B", 3437 CreditCard credit_card1("1141084B-72D7-4B73-90CF-3D6AC154673B",
3358 "https://www.example.com"); 3438 "https://www.example.com");
3359 credit_card1.set_use_count(300); 3439 credit_card1.set_use_count(300);
3360 credit_card1.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(10)); 3440 credit_card1.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(10));
3361 test::SetCreditCardInfo(&credit_card1, "John Dillinger", "", "01", "2010"); 3441 test::SetCreditCardInfo(&credit_card1, "John Dillinger", "", "01", "2110");
3362 personal_data_->AddCreditCard(credit_card1); 3442 personal_data_->AddCreditCard(credit_card1);
3363 3443
3364 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) 3444 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
3365 .WillOnce(QuitMainMessageLoop()); 3445 .WillOnce(QuitMainMessageLoop());
3366 base::MessageLoop::current()->Run(); 3446 base::MessageLoop::current()->Run();
3367 3447
3368 ASSERT_EQ(2U, personal_data_->GetCreditCards().size()); 3448 ASSERT_EQ(2U, personal_data_->GetCreditCards().size());
3369 3449
3370 // Sublabel is expiration date when filling card number. The second card 3450 // Sublabel is expiration date when filling card number. The second card
3371 // doesn't have a number so it should not be included in the suggestions. 3451 // doesn't have a number so it should not be included in the suggestions.
3372 std::vector<Suggestion> suggestions = 3452 std::vector<Suggestion> suggestions =
3373 personal_data_->GetCreditCardSuggestions( 3453 personal_data_->GetCreditCardSuggestions(
3374 AutofillType(CREDIT_CARD_NUMBER), 3454 AutofillType(CREDIT_CARD_NUMBER),
3375 /* field_contents= */ base::string16()); 3455 /* field_contents= */ base::string16());
3376 ASSERT_EQ(1U, suggestions.size()); 3456 ASSERT_EQ(1U, suggestions.size());
3377 EXPECT_EQ(UTF8ToUTF16("Amex\xC2\xA0\xE2\x8B\xAF" 3457 EXPECT_EQ(UTF8ToUTF16("Amex\xC2\xA0\xE2\x8B\xAF"
3378 "8555"), 3458 "8555"),
3379 suggestions[0].value); 3459 suggestions[0].value);
3380 EXPECT_EQ(ASCIIToUTF16("04/15"), suggestions[0].label); 3460 EXPECT_EQ(ASCIIToUTF16("04/99"), suggestions[0].label);
3381 } 3461 }
3382 3462
3383 // Tests the suggestions of duplicate local and server credit cards. 3463 // Tests the suggestions of duplicate local and server credit cards.
3384 TEST_F(PersonalDataManagerTest, GetCreditCardSuggestions_ServerDuplicates) { 3464 TEST_F(PersonalDataManagerTest, GetCreditCardSuggestions_ServerDuplicates) {
3385 EnableWalletCardImport(); 3465 EnableWalletCardImport();
3386 SetupReferenceLocalCreditCards(); 3466 SetupReferenceLocalCreditCards();
3387 3467
3388 // Add some server cards. If there are local dupes, the locals should be 3468 // Add some server cards. If there are local dupes, the locals should be
3389 // hidden. 3469 // hidden.
3390 std::vector<CreditCard> server_cards; 3470 std::vector<CreditCard> server_cards;
3391 // This server card matches a local card, except the local card is missing the 3471 // This server card matches a local card, except the local card is missing the
3392 // number. This should count as a dupe and thus not be shown in the 3472 // number. This should count as a dupe and thus not be shown in the
3393 // suggestions since the locally saved card takes precedence. 3473 // suggestions since the locally saved card takes precedence.
3394 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); 3474 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123"));
3395 test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", 3475 test::SetCreditCardInfo(&server_cards.back(), "John Dillinger",
3396 "9012" /* Visa */, "01", "2010"); 3476 "9012" /* Visa */, "01", "2100");
3397 server_cards.back().set_use_count(2); 3477 server_cards.back().set_use_count(2);
3398 server_cards.back().set_use_date(base::Time::Now() - 3478 server_cards.back().set_use_date(base::Time::Now() -
3399 base::TimeDelta::FromDays(15)); 3479 base::TimeDelta::FromDays(15));
3400 server_cards.back().SetTypeForMaskedCard(kVisaCard); 3480 server_cards.back().SetTypeForMaskedCard(kVisaCard);
3401 3481
3402 // This server card is identical to a local card, but has a different 3482 // This server card is identical to a local card, but has a different
3403 // card type. Not a dupe and therefore both should appear in the suggestions. 3483 // card type. Not a dupe and therefore both should appear in the suggestions.
3404 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456")); 3484 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456"));
3405 test::SetCreditCardInfo(&server_cards.back(), "Bonnie Parker", "2109", "12", 3485 test::SetCreditCardInfo(&server_cards.back(), "Bonnie Parker", "2109", "12",
3406 "2012"); 3486 "2012");
3407 server_cards.back().set_use_count(3); 3487 server_cards.back().set_use_count(3);
3408 server_cards.back().set_use_date(base::Time::Now() - 3488 server_cards.back().set_use_date(base::Time::Now() -
3409 base::TimeDelta::FromDays(15)); 3489 base::TimeDelta::FromDays(15));
3410 server_cards.back().SetTypeForMaskedCard(kVisaCard); 3490 server_cards.back().SetTypeForMaskedCard(kVisaCard);
3411 3491
3412 // This unmasked server card is an exact dupe of a local card. Therefore only 3492 // This unmasked server card is an exact dupe of a local card. Therefore only
3413 // this card should appear in the suggestions as full server cards have 3493 // this card should appear in the suggestions as full server cards have
3414 // precedence over local cards. 3494 // precedence over local cards.
3415 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789")); 3495 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789"));
3416 test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow", 3496 test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow",
3417 "347666888555" /* American Express */, "04", "2015"); 3497 "347666888555" /* American Express */, "04", "2099");
3418 server_cards.back().set_use_count(1); 3498 server_cards.back().set_use_count(1);
3419 server_cards.back().set_use_date(base::Time::Now() - 3499 server_cards.back().set_use_date(base::Time::Now() -
3420 base::TimeDelta::FromDays(15)); 3500 base::TimeDelta::FromDays(15));
3421 3501
3422 test::SetServerCreditCards(autofill_table_, server_cards); 3502 test::SetServerCreditCards(autofill_table_, server_cards);
3423 personal_data_->Refresh(); 3503 personal_data_->Refresh();
3424 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) 3504 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
3425 .WillOnce(QuitMainMessageLoop()); 3505 .WillOnce(QuitMainMessageLoop());
3426 base::MessageLoop::current()->Run(); 3506 base::MessageLoop::current()->Run();
3427 3507
(...skipping 29 matching lines...) Expand all
3457 GetCreditCardSuggestions_ServerCardDuplicateOfMultipleLocalCards) { 3537 GetCreditCardSuggestions_ServerCardDuplicateOfMultipleLocalCards) {
3458 EnableWalletCardImport(); 3538 EnableWalletCardImport();
3459 SetupReferenceLocalCreditCards(); 3539 SetupReferenceLocalCreditCards();
3460 3540
3461 // Add a duplicate server card. 3541 // Add a duplicate server card.
3462 std::vector<CreditCard> server_cards; 3542 std::vector<CreditCard> server_cards;
3463 // This unmasked server card is an exact dupe of a local card. Therefore only 3543 // This unmasked server card is an exact dupe of a local card. Therefore only
3464 // the local card should appear in the suggestions. 3544 // the local card should appear in the suggestions.
3465 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789")); 3545 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789"));
3466 test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow", 3546 test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow",
3467 "347666888555" /* American Express */, "04", "2015"); 3547 "347666888555" /* American Express */, "04", "2099");
3468 3548
3469 test::SetServerCreditCards(autofill_table_, server_cards); 3549 test::SetServerCreditCards(autofill_table_, server_cards);
3470 personal_data_->Refresh(); 3550 personal_data_->Refresh();
3471 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) 3551 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
3472 .WillOnce(QuitMainMessageLoop()); 3552 .WillOnce(QuitMainMessageLoop());
3473 base::MessageLoop::current()->Run(); 3553 base::MessageLoop::current()->Run();
3474 3554
3475 std::vector<Suggestion> suggestions = 3555 std::vector<Suggestion> suggestions =
3476 personal_data_->GetCreditCardSuggestions( 3556 personal_data_->GetCreditCardSuggestions(
3477 AutofillType(CREDIT_CARD_NAME_FULL), 3557 AutofillType(CREDIT_CARD_NAME_FULL),
(...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after
4054 EXPECT_GT(base::TimeDelta::FromMilliseconds(500), 4134 EXPECT_GT(base::TimeDelta::FromMilliseconds(500),
4055 base::Time::Now() - saved_profiles.front()->use_date()); 4135 base::Time::Now() - saved_profiles.front()->use_date());
4056 } 4136 }
4057 4137
4058 // Erase the profiles for the next test. 4138 // Erase the profiles for the next test.
4059 ResetProfiles(); 4139 ResetProfiles();
4060 } 4140 }
4061 } 4141 }
4062 4142
4063 } // namespace autofill 4143 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698