diff options
author | Andy McFadden <fadden@android.com> | 2011-08-02 17:00:28 -0700 |
---|---|---|
committer | Andy McFadden <fadden@android.com> | 2011-08-04 13:57:05 -0700 |
commit | 361695206f7a25577ddc374f20868105cae531cd (patch) | |
tree | 952561e2cf0fc0670b67a4226be2c5531e8899c8 /tests | |
parent | 85c09a31bcc3a18e173428bf7b628cec2834bebc (diff) | |
download | CalendarProvider-361695206f7a25577ddc374f20868105cae531cd.tar.gz |
Test null projections
This adds a test that issues various queries with null projections
to confirm that the database structure matches expectations.
This also fixes the Reminders projection.
Bug 4878015
Change-Id: I1acdd35699d0132eadec3b13abe8011449f764d5
Diffstat (limited to 'tests')
-rw-r--r-- | tests/src/com/android/providers/calendar/CalendarCts.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/src/com/android/providers/calendar/CalendarCts.java b/tests/src/com/android/providers/calendar/CalendarCts.java index 0ff6950..e5770a6 100644 --- a/tests/src/com/android/providers/calendar/CalendarCts.java +++ b/tests/src/com/android/providers/calendar/CalendarCts.java @@ -480,6 +480,66 @@ public class CalendarCts extends InstrumentationTestCase { removeAndVerifyCalendar(account, id); } + /** + * Tests whether the default projections work. We don't need to have any data in + * the calendar, since it's testing the database schema. + */ + @MediumTest + public void testDefaultProjections() { + String account = "dproj_account"; + int seed = 0; + + // Clean up just in case + CalendarHelper.deleteCalendarByAccount(mContentResolver, account); + long id = createAndVerifyCalendar(account, seed++, null); + + Cursor c; + Uri uri; + // Calendars + c = mContentResolver.query(Calendars.CONTENT_URI, null, null, null, null); + c.close(); + // Events + c = mContentResolver.query(Events.CONTENT_URI, null, null, null, null); + c.close(); + // Instances + uri = Uri.withAppendedPath(Instances.CONTENT_URI, "0/1"); + c = mContentResolver.query(uri, null, null, null, null); + c.close(); + // Attendees + c = mContentResolver.query(Attendees.CONTENT_URI, null, null, null, null); + c.close(); + // Reminders (only REMINDERS_ID currently uses default projection) + uri = ContentUris.withAppendedId(Reminders.CONTENT_URI, 0); + c = mContentResolver.query(uri, null, null, null, null); + c.close(); + // CalendarAlerts + c = mContentResolver.query(CalendarContract.CalendarAlerts.CONTENT_URI, + null, null, null, null); + c.close(); + // CalendarCache + c = mContentResolver.query(CalendarContract.CalendarCache.URI, + null, null, null, null); + c.close(); + // CalendarEntity + c = mContentResolver.query(CalendarContract.CalendarEntity.CONTENT_URI, + null, null, null, null); + c.close(); + // EventEntities + c = mContentResolver.query(CalendarContract.EventsEntity.CONTENT_URI, + null, null, null, null); + c.close(); + // EventDays + uri = Uri.withAppendedPath(CalendarContract.EventDays.CONTENT_URI, "1/2"); + c = mContentResolver.query(uri, null, null, null, null); + c.close(); + // ExtendedProperties + c = mContentResolver.query(CalendarContract.ExtendedProperties.CONTENT_URI, + null, null, null, null); + c.close(); + + removeAndVerifyCalendar(account, id); + } + @MediumTest public void testCalendarUpdateAsApp() { String account = "cu1_account"; |