diff options
author | Makoto Onuki <omakoto@google.com> | 2015-02-27 12:25:27 -0800 |
---|---|---|
committer | Makoto Onuki <omakoto@google.com> | 2015-02-27 15:31:53 -0800 |
commit | 2eb09524fc4b4afd061d30898dba30fab583545a (patch) | |
tree | 3a595b983096ee0e73a2f5997d56685b4a6217cc /tests/src | |
parent | 3e2e34d46cca69ba09715b7d2e4c165d84d19ee5 (diff) | |
download | packages_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.java | 24 |
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() { |