summaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
authorMakoto Onuki <omakoto@google.com>2015-02-27 12:25:27 -0800
committerMakoto Onuki <omakoto@google.com>2015-02-27 15:31:53 -0800
commit2eb09524fc4b4afd061d30898dba30fab583545a (patch)
tree3a595b983096ee0e73a2f5997d56685b4a6217cc /tests/src
parent3e2e34d46cca69ba09715b7d2e4c165d84d19ee5 (diff)
downloadpackages_providers_ContactsProvider-2eb09524fc4b4afd061d30898dba30fab583545a.zip
packages_providers_ContactsProvider-2eb09524fc4b4afd061d30898dba30fab583545a.tar.gz
packages_providers_ContactsProvider-2eb09524fc4b4afd061d30898dba30fab583545a.tar.bz2
Enterprise phone lookup should return consistent result...
regardless of requested projections. In order to rewrite the cursor returned from the corp CP2, certain columns are needed to compute other columns. (e.g. PHOTO_URI requires _ID and PHOTO_FILE_ID). This CL fixes that by always requesting all columns to the corp CP2. Now rewriteCorpPhoneLookup() shrinks down the projection. Bug 19545750 Change-Id: Id817d069554ebc89759303760effb557b152d58a
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/com/android/providers/contacts/ContactsProvider2Test.java24
1 files changed, 22 insertions, 2 deletions
diff --git a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
index 94997c6..b0fb3e9 100644
--- a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
+++ b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
@@ -1940,7 +1940,7 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test {
});
// First, convert and make sure it returns an empty cursor.
- Cursor rewritten = ContactsProvider2.rewriteCorpPhoneLookup(c);
+ Cursor rewritten = ContactsProvider2.rewriteCorpPhoneLookup(c.getColumnNames(), c);
assertEquals(0, rewritten.getCount());
assertEquals(19, rewritten.getColumnCount());
@@ -1987,8 +1987,9 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test {
"label", // PhoneLookup.LABEL,
"+1234", // PhoneLookup.NORMALIZED_NUMBER
});
- rewritten = ContactsProvider2.rewriteCorpPhoneLookup(c);
+ rewritten = ContactsProvider2.rewriteCorpPhoneLookup(c.getColumnNames(), c);
assertEquals(2, rewritten.getCount());
+ assertEquals(19, rewritten.getColumnCount());
rewritten.moveToPosition(0);
int column = 0;
@@ -2036,6 +2037,25 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test {
assertEquals(1, rewritten.getInt(column++));
assertEquals("label", rewritten.getString(column++));
assertEquals("+1234", rewritten.getString(column++));
+
+ // Use a narower projection.
+ rewritten = ContactsProvider2.rewriteCorpPhoneLookup(
+ new String[] {PhoneLookup.PHOTO_URI, PhoneLookup.PHOTO_THUMBNAIL_URI}, c);
+ assertEquals(2, rewritten.getCount());
+ assertEquals(2, rewritten.getColumnCount());
+
+ rewritten.moveToPosition(0);
+ column = 0;
+ assertEquals(null, rewritten.getString(column++));
+ assertEquals(null, rewritten.getString(column++));
+
+
+ rewritten.moveToNext();
+ column = 0;
+ assertEquals("content://com.android.contacts/contacts_corp/10/display_photo",
+ rewritten.getString(column++));
+ assertEquals("content://com.android.contacts/contacts_corp/10/photo",
+ rewritten.getString(column++));
}
public void testPhoneUpdate() {