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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/autofill/PersonalDataManagerTest.java

Issue 1982623002: [Autofill] Sort profiles and credit cards by frecency in PaymentRequest. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments and refactored Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/android/javatests/src/org/chromium/chrome/browser/autofill/PersonalDataManagerTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/PersonalDataManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/PersonalDataManagerTest.java
index 8ddc33dda917a49e76562999a2b197e673d6b552..9e1396472ccdf644cd4fd53da1c7bbf15bfab7ef 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/PersonalDataManagerTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/PersonalDataManagerTest.java
@@ -274,4 +274,81 @@ public class PersonalDataManagerTest extends NativeLibraryTestBase {
expectedLabels.remove(idx);
}
}
+
+ @SmallTest
+ @Feature({"Autofill"})
+ public void testProfilesFrecency() throws InterruptedException, ExecutionException {
+ // Create 3 profiles.
+ AutofillProfile profile1 =
+ new AutofillProfile("" /* guid */, "https://www.example.com" /* origin */,
+ "John Major", "Acme Inc.", "123 Main", "California", "Los Angeles", "",
+ "90210", "", "US", "555 123-4567", "jm@example.com", "");
+ AutofillProfile profile2 =
+ new AutofillProfile("" /* guid */, "https://www.example.com" /* origin */,
+ "John Major", "Acme Inc.", "123 Main", "California", "Los Angeles", "",
+ "90210", "", "US", "555 123-4567", "jm-work@example.com", "");
+ AutofillProfile profile3 =
+ new AutofillProfile("" /* guid */, "https://www.example.com" /* origin */,
+ "Jasper Lundgren", "", "1500 Second Ave", "California", "Hollywood", "",
+ "90068", "", "US", "555 123-9876", "jasperl@example.com", "");
+
+ String guid1 = mHelper.setProfile(profile1);
+ String guid2 = mHelper.setProfile(profile2);
+ String guid3 = mHelper.setProfile(profile3);
+
+ // The first profile has a lower use count than the two other profiles. It also has an older
+ // use date that the second profile and the same use date as the
+ // third. It should be last.
+ mHelper.setProfileUseStatsForTest(guid1, 3, 5000);
+ // The second profile has the same use count as the third but a more recent use date. It
+ // also has a bigger use count that the first profile. It should be first.
+ mHelper.setProfileUseStatsForTest(guid2, 6, 5001);
+ // The third profile has the same use count as the second but an older use date. It also has
+ // a bigger use count that the first profile. It should be second.
+ mHelper.setProfileUseStatsForTest(guid3, 6, 5000);
+
+ List<AutofillProfile> profiles = mHelper.getProfiles();
+ assertEquals(3, profiles.size());
+
+ assertTrue("Profile2 should be ranked first", guid2.equals(profiles.get(0).getGUID()));
+ assertTrue("Profile3 should be ranked second", guid3.equals(profiles.get(1).getGUID()));
+ assertTrue("Profile1 should be ranked third", guid1.equals(profiles.get(2).getGUID()));
+ }
+
+ @SmallTest
+ @Feature({"Autofill"})
+ public void testCreditCardsFrecency() throws InterruptedException, ExecutionException {
+ // Create 3 credit cards.
+ CreditCard card1 = new CreditCard("" /* guid */, "https://www.example.com" /* origin */,
+ "Visa", "1234123412341234", "", "5", "2020");
+
+ CreditCard card2 = new CreditCard("" /* guid */, "http://www.example.com" /* origin */,
+ "American Express", "1234123412341234", "", "8", "2020");
+
+ CreditCard card3 = new CreditCard("" /* guid */, "http://www.example.com" /* origin */,
+ "Master Card", "1234123412341234", "", "11", "2020");
+
+ String guid1 = mHelper.setCreditCard(card1);
+ String guid2 = mHelper.setCreditCard(card2);
+ String guid3 = mHelper.setCreditCard(card3);
+
+ // The first card has a lower use count than the two other cards. It also has an older
+ // use date that the second card and the same use date as the
+ // third. It should be last.
+ mHelper.setCreditCardUseStatsForTest(guid1, 3, 5000);
+ // The second card has the same use count as the third but a more recent use date. It also
+ // has a bigger use count that the first card. It should be first.
+ mHelper.setCreditCardUseStatsForTest(guid2, 6, 5001);
+ // The third card has the same use count as the second but an older use date. It also has a
+ // bigger use count that the first card. It should be second.
+ mHelper.setCreditCardUseStatsForTest(guid3, 6, 5000);
+
+ assertEquals(3, mHelper.getNumberOfCreditCards());
+
+ List<CreditCard> cards = mHelper.getCreditCards();
+
+ assertTrue("Card2 should be ranked first", guid2.equals(cards.get(0).getGUID()));
+ assertTrue("Card3 should be ranked second", guid3.equals(cards.get(1).getGUID()));
+ assertTrue("Card1 should be ranked third", guid1.equals(cards.get(2).getGUID()));
+ }
}

Powered by Google App Engine
This is Rietveld 408576698