summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChiao Cheng <chiaocheng@google.com>2013-03-04 18:12:57 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-03-04 18:12:58 +0000
commit659016dd6a7ac6659d978c45d91400e4627afe6b (patch)
treed2da9b865cc3454b787d43b2db5a5f4a279af3a0 /tests
parent21cfa6019b9fb82c23edf978d27904757207d9b0 (diff)
parentc6e28121e4c522c31c96e0ea97b66012cc571160 (diff)
downloadpackages_providers_ContactsProvider-659016dd6a7ac6659d978c45d91400e4627afe6b.zip
packages_providers_ContactsProvider-659016dd6a7ac6659d978c45d91400e4627afe6b.tar.gz
packages_providers_ContactsProvider-659016dd6a7ac6659d978c45d91400e4627afe6b.tar.bz2
Merge "Reverting is_primary sort order back to previous priority." into jb-mr2-dev
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java13
-rw-r--r--tests/src/com/android/providers/contacts/ContactsProvider2Test.java30
2 files changed, 41 insertions, 2 deletions
diff --git a/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java b/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
index 3759196..384d547 100644
--- a/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
+++ b/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
@@ -335,8 +335,18 @@ public abstract class BaseContactsProvider2Test extends PhotoLoadingTestCase {
return insertEmail(rawContactId, email, primary, Email.TYPE_HOME, null);
}
+ protected Uri insertEmail(long rawContactId, String email, boolean primary,
+ boolean superPrimary) {
+ return insertEmail(rawContactId, email, primary, superPrimary, Email.TYPE_HOME, null);
+ }
+
protected Uri insertEmail(long rawContactId, String email, boolean primary, int type,
String label) {
+ return insertEmail(rawContactId, email, primary, false, type, label);
+ }
+
+ protected Uri insertEmail(long rawContactId, String email, boolean primary,
+ boolean superPrimary, int type, String label) {
ContentValues values = new ContentValues();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
@@ -346,6 +356,9 @@ public abstract class BaseContactsProvider2Test extends PhotoLoadingTestCase {
if (primary) {
values.put(Data.IS_PRIMARY, 1);
}
+ if (superPrimary) {
+ values.put(Data.IS_SUPER_PRIMARY, 1);
+ }
Uri resultUri = mResolver.insert(Data.CONTENT_URI, values);
return resultUri;
diff --git a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
index 9bcf54c..a00017e 100644
--- a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
+++ b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
@@ -1800,11 +1800,11 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test {
/**
* Test "default" emails are sorted above emails used last.
*/
- public void testEmailFilterDefaultOverUsageSort() {
+ public void testEmailFilterSuperPrimaryOverUsageSort() {
final long rawContactId = createRawContact(ACCOUNT_1);
final Uri emailUri1 = insertEmail(rawContactId, "account1@testemail.com");
final Uri emailUri2 = insertEmail(rawContactId, "account2@testemail.com");
- insertEmail(rawContactId, "account3@testemail.com", true);
+ insertEmail(rawContactId, "account3@testemail.com", true, true);
// Update account1 and account 2 to have higher usage.
updateDataUsageFeedback(DataUsageFeedback.USAGE_TYPE_LONG_TEXT, emailUri1);
@@ -1820,6 +1820,32 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test {
assertStoredValuesOrderly(filterUri, v3, v1, v2);
}
+ /**
+ * Test primary emails are sorted below emails used last.
+ *
+ * primary may be set without super primary. Only super primary indicates "default" in the
+ * contact ui.
+ */
+ public void testEmailFilterUsageOverPrimarySort() {
+ final long rawContactId = createRawContact(ACCOUNT_1);
+ final Uri emailUri1 = insertEmail(rawContactId, "account1@testemail.com");
+ final Uri emailUri2 = insertEmail(rawContactId, "account2@testemail.com");
+ insertEmail(rawContactId, "account3@testemail.com", true);
+
+ // Update account1 and account 2 to have higher usage.
+ updateDataUsageFeedback(DataUsageFeedback.USAGE_TYPE_LONG_TEXT, emailUri1);
+ updateDataUsageFeedback(DataUsageFeedback.USAGE_TYPE_LONG_TEXT, emailUri1);
+ updateDataUsageFeedback(DataUsageFeedback.USAGE_TYPE_LONG_TEXT, emailUri2);
+
+ final ContentValues v1 = cv(Email.ADDRESS, "account1@testemail.com");
+ final ContentValues v2 = cv(Email.ADDRESS, "account2@testemail.com");
+ final ContentValues v3 = cv(Email.ADDRESS, "account3@testemail.com");
+
+ // Test that account 3 is first even though account 1 and 2 have higher usage.
+ Uri filterUri = Uri.withAppendedPath(Email.CONTENT_FILTER_URI, "acc");
+ assertStoredValuesOrderly(filterUri, v1, v2, v3);
+ }
+
/** Tests {@link DataUsageFeedback} correctly promotes a data row instead of a raw contact. */
public void testEmailFilterSortOrderWithFeedback() {
long rawContactId1 = createRawContact();