summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSam Blitzstein <sblitz@google.com>2013-02-26 15:58:00 -0800
committerSam Blitzstein <sblitz@google.com>2013-03-06 15:59:21 -0800
commitb6b9cb4a6db19538b6d8ba3ad3cb26d2d7385a63 (patch)
treea8cfb699d1f060f3d90404b1d62c57ad64280983 /tests
parent8de796dfd3a1dad6cb386077e785d09fc02bec7b (diff)
downloadandroid_packages_apps_Calendar-b6b9cb4a6db19538b6d8ba3ad3cb26d2d7385a63.tar.gz
android_packages_apps_Calendar-b6b9cb4a6db19538b6d8ba3ad3cb26d2d7385a63.tar.bz2
android_packages_apps_Calendar-b6b9cb4a6db19538b6d8ba3ad3cb26d2d7385a63.zip
Resolving test errors.
Bug: 6917799 Bug: 4903558 Bug: 3495689 Bug: 3466973 Bug: 3465425 Bug: 3066073 Bug: 3465363 Change-Id: I32888bb812ee286bec9a37326d02c80106b4575d
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/android/calendar/AsyncQueryServiceTest.java32
-rw-r--r--tests/src/com/android/calendar/FormatDateRangeTest.java6
-rw-r--r--tests/src/com/android/calendar/UtilsTests.java38
-rw-r--r--tests/src/com/android/calendar/event/EditEventHelperTest.java183
-rw-r--r--tests/src/com/android/calendar/widget/CalendarAppWidgetServiceTest.java167
5 files changed, 208 insertions, 218 deletions
diff --git a/tests/src/com/android/calendar/AsyncQueryServiceTest.java b/tests/src/com/android/calendar/AsyncQueryServiceTest.java
index bcba7db0..70dbde34 100644
--- a/tests/src/com/android/calendar/AsyncQueryServiceTest.java
+++ b/tests/src/com/android/calendar/AsyncQueryServiceTest.java
@@ -27,11 +27,14 @@ import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
+import android.content.res.Resources;
import android.database.Cursor;
import android.net.Uri;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Message;
+import android.test.IsolatedContext;
+import android.test.RenamingDelegatingContext;
import android.test.ServiceTestCase;
import android.test.mock.MockContentResolver;
import android.test.mock.MockContext;
@@ -41,6 +44,7 @@ import android.test.suitebuilder.annotation.SmallTest;
import android.test.suitebuilder.annotation.Smoke;
import android.util.Log;
+import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.concurrent.Semaphore;
@@ -81,6 +85,23 @@ public class AsyncQueryServiceTest extends ServiceTestCase<AsyncQueryServiceHelp
super.setUp();
}
+ private class MockContext2 extends MockContext {
+ @Override
+ public Resources getResources() {
+ return getContext().getResources();
+ }
+
+ @Override
+ public File getDir(String name, int mode) {
+ return getContext().getDir("mockcontext2_+" + name, mode);
+ }
+
+ @Override
+ public Context getApplicationContext() {
+ return this;
+ }
+ }
+
@Smoke
@SmallTest
public void testQuery() throws Exception {
@@ -402,8 +423,17 @@ public class AsyncQueryServiceTest extends ServiceTestCase<AsyncQueryServiceHelp
@Override
public ContentResolver getContentResolver() {
if (mResolver == null) {
- ContentProvider provider = new TestProvider(work);
mResolver = new MockContentResolver();
+
+ final String filenamePrefix = "test.";
+ RenamingDelegatingContext targetContextWrapper = new RenamingDelegatingContext(
+ new MockContext2(), getContext(), filenamePrefix);
+ IsolatedContext providerContext =
+ new IsolatedContext(mResolver, targetContextWrapper);
+
+ ContentProvider provider = new TestProvider(work);
+ provider.attachInfo(providerContext, null);
+
mResolver.addProvider(AUTHORITY, provider);
}
return mResolver;
diff --git a/tests/src/com/android/calendar/FormatDateRangeTest.java b/tests/src/com/android/calendar/FormatDateRangeTest.java
index d6f5684b..1ba3ecc8 100644
--- a/tests/src/com/android/calendar/FormatDateRangeTest.java
+++ b/tests/src/com/android/calendar/FormatDateRangeTest.java
@@ -75,7 +75,7 @@ public class FormatDateRangeTest extends AndroidTestCase {
new DateTest(0, 10, 9, 8, 0, 0, 10, 9, 11, 0,
DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL, "8am \u2013 11am"),
new DateTest(0, 10, 9, 8, 0, 0, 10, 9, 11, 0,
- DateUtils.FORMAT_SHOW_TIME, "8:00am \u2013 11:00am"),
+ DateUtils.FORMAT_SHOW_TIME, "8:00AM \u2013 11:00AM"),
new DateTest(0, 10, 9, 8, 0, 0, 10, 9, 17, 0,
DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_24HOUR, "08:00 \u2013 17:00"),
new DateTest(0, 10, 9, 8, 0, 0, 10, 9, 12, 0,
@@ -87,7 +87,7 @@ public class FormatDateRangeTest extends AndroidTestCase {
DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_CAP_NOON | DateUtils.FORMAT_ABBREV_ALL,
"8am \u2013 Noon"),
new DateTest(0, 10, 9, 10, 30, 0, 10, 9, 13, 0,
- DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL, "10:30am \u2013 1pm"),
+ DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL, "10:30AM \u2013 1pm"),
new DateTest(0, 10, 9, 13, 0, 0, 10, 9, 14, 0,
DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL, "1pm \u2013 2pm"),
new DateTest(0, 10, 9, 0, 0, 0, 10, 9, 14, 0,
@@ -155,7 +155,7 @@ public class FormatDateRangeTest extends AndroidTestCase {
"Fri, Nov 9, 2007, 8am \u2013 Sun, Nov 11, 2007, 5pm"),
new DateTest(2007, 11, 3, 13, 0, 2007, 11, 3, 14, 0,
DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR,
- "1:00pm \u2013 2:00pm, December 3, 2007"),
+ "1:00PM \u2013 2:00PM, December 3, 2007"),
// Tests that FORMAT_SHOW_YEAR takes precedence over FORMAT_NO_YEAR:
new DateTest(2007, 11, 3, 13, 0, 2007, 11, 3, 13, 0,
DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_NO_YEAR,
diff --git a/tests/src/com/android/calendar/UtilsTests.java b/tests/src/com/android/calendar/UtilsTests.java
index ed3efc0d..492a06fd 100644
--- a/tests/src/com/android/calendar/UtilsTests.java
+++ b/tests/src/com/android/calendar/UtilsTests.java
@@ -508,14 +508,14 @@ public class UtilsTests extends TestCase {
long end = createTimeInMillis(0, 0, 18, 12, 3, 2000);
String result = Utils.getDisplayedDatetime(start, end, NOW_TIME, DEFAULT_TIMEZONE,
false, dbUtils.getContext());
- assertEquals("Wednesday, April 12, 2000, 5:00pm \u2013 6:00pm", result);
+ assertEquals("Wednesday, April 12, 2000, 5:00PM \u2013 6:00PM", result);
// 12/31/2012 5pm - 1/1/2013 6pm
start = createTimeInMillis(0, 0, 17, 31, 11, 2012);
end = createTimeInMillis(0, 0, 18, 1, 0, 2013);
result = Utils.getDisplayedDatetime(start, end, NOW_TIME, DEFAULT_TIMEZONE,
false, dbUtils.getContext());
- assertEquals("Mon, Dec 31, 2012, 5:00pm – Tue, Jan 1, 2013, 6:00pm", result);
+ assertEquals("Mon, Dec 31, 2012, 5:00PM – Tue, Jan 1, 2013, 6:00PM", result);
}
@SmallTest
@@ -525,7 +525,7 @@ public class UtilsTests extends TestCase {
long end = createTimeInMillis(0, 0, 18, 12, 3, 2012);
String result = Utils.getDisplayedDatetime(start, end, NOW_TIME, DEFAULT_TIMEZONE,
false, dbUtils.getContext());
- assertEquals("Thursday, April 12, 5:00pm \u2013 6:00pm", result);
+ assertEquals("Thursday, April 12, 2012, 5:00PM \u2013 6:00PM", result);
}
@SmallTest
@@ -535,7 +535,7 @@ public class UtilsTests extends TestCase {
long end = createTimeInMillis(0, 0, 18, NOW_DAY, NOW_MONTH, NOW_YEAR);
String result = Utils.getDisplayedDatetime(start, end, NOW_TIME, DEFAULT_TIMEZONE,
false, dbUtils.getContext());
- assertEquals("Today at 5:00pm \u2013 6:00pm", result);
+ assertEquals("Today at 5:00PM \u2013 6:00PM", result);
}
@SmallTest
@@ -545,17 +545,17 @@ public class UtilsTests extends TestCase {
long end = createTimeInMillis(0, 0, 0, NOW_DAY + 1, NOW_MONTH, NOW_YEAR);
String result = Utils.getDisplayedDatetime(start, end, NOW_TIME, DEFAULT_TIMEZONE,
false, dbUtils.getContext());
- assertEquals("Today at 5:00pm \u2013 midnight", result);
+ assertEquals("Today at 5:00PM \u2013 midnight", result);
}
@SmallTest
public void testGetDisplayedDatetime_tomorrow() {
- // 4/11/2012 12:01am - 4/11/2012 11:59pm
+ // 4/11/2012 12:01AM - 4/11/2012 11:59pm
long start = createTimeInMillis(0, 1, 0, NOW_DAY + 1, NOW_MONTH, NOW_YEAR);
long end = createTimeInMillis(0, 59, 23, NOW_DAY + 1, NOW_MONTH, NOW_YEAR);
String result = Utils.getDisplayedDatetime(start, end, NOW_TIME, DEFAULT_TIMEZONE,
false, dbUtils.getContext());
- assertEquals("Tomorrow at 12:01am \u2013 11:59pm", result);
+ assertEquals("Tomorrow at 12:01AM \u2013 11:59PM", result);
}
@SmallTest
@@ -565,32 +565,32 @@ public class UtilsTests extends TestCase {
long end = createTimeInMillis(0, 0, 18, 9, 3, 2012);
String result = Utils.getDisplayedDatetime(start, end, NOW_TIME, DEFAULT_TIMEZONE,
false, dbUtils.getContext());
- assertEquals("Monday, April 9, 5:00pm \u2013 6:00pm", result);
+ assertEquals("Monday, April 9, 2012, 5:00PM \u2013 6:00PM", result);
}
@SmallTest
public void testGetDisplayedDatetime_multiDay() {
- // 4/10/2012 12:01am - 4/11/2012 12:01am
+ // 4/10/2012 12:01AM - 4/11/2012 12:01AM
long start = createTimeInMillis(0, 1, 0, NOW_DAY, NOW_MONTH, NOW_YEAR);
long end = createTimeInMillis(0, 1, 0, NOW_DAY + 1, NOW_MONTH, NOW_YEAR);
String result = Utils.getDisplayedDatetime(start, end, NOW_TIME, DEFAULT_TIMEZONE,
false, dbUtils.getContext());
- assertEquals("Tue, Apr 10, 12:01am \u2013 Wed, Apr 11, 12:01am", result);
+ assertEquals("Tue, Apr 10, 2012, 12:01AM \u2013 Wed, Apr 11, 2012, 12:01AM", result);
}
@SmallTest
public void testGetDisplayedDatetime_allDay() {
- // 4/2/2012 12:00am - 4/3/2012 12:00am
+ // 4/2/2012 12:00AM - 4/3/2012 12:00AM
long start = createTimeInMillis(0, 0, 0, 2, 3, NOW_YEAR, Time.TIMEZONE_UTC);
long end = createTimeInMillis(0, 0, 0, 3, 3, NOW_YEAR, Time.TIMEZONE_UTC);
String result = Utils.getDisplayedDatetime(start, end, NOW_TIME, DEFAULT_TIMEZONE,
true, dbUtils.getContext());
- assertEquals("Monday, April 2", result);
+ assertEquals("Monday, April 2, 2012", result);
}
@SmallTest
public void testGetDisplayedDatetime_allDayToday() {
- // 4/10/2012 12:00am - 4/11/2012 12:00am
+ // 4/10/2012 12:00AM - 4/11/2012 12:00AM
long start = createTimeInMillis(0, 0, 0, NOW_DAY, NOW_MONTH, NOW_YEAR, Time.TIMEZONE_UTC);
long end = createTimeInMillis(0, 0, 0, NOW_DAY + 1, NOW_MONTH, NOW_YEAR, Time.TIMEZONE_UTC);
String result = Utils.getDisplayedDatetime(start, end, NOW_TIME, DEFAULT_TIMEZONE,
@@ -600,12 +600,12 @@ public class UtilsTests extends TestCase {
@SmallTest
public void testGetDisplayedDatetime_allDayMultiday() {
- // 4/10/2012 12:00am - 4/13/2012 12:00am
+ // 4/10/2012 12:00AM - 4/13/2012 12:00AM
long start = createTimeInMillis(0, 0, 0, NOW_DAY, NOW_MONTH, NOW_YEAR, Time.TIMEZONE_UTC);
long end = createTimeInMillis(0, 0, 0, NOW_DAY + 3, NOW_MONTH, NOW_YEAR, Time.TIMEZONE_UTC);
String result = Utils.getDisplayedDatetime(start, end, NOW_TIME, DEFAULT_TIMEZONE,
true, dbUtils.getContext());
- assertEquals("Tuesday, April 10 \u2013 Thursday, April 12", result);
+ assertEquals("Tuesday, April 10, 2012 \u2013 Thursday, April 12, 2012", result);
}
@SmallTest
@@ -619,7 +619,7 @@ public class UtilsTests extends TestCase {
long end = createTimeInMillis(0, 0, 18, 12, 3, 2012, eventTz);
String result = Utils.getDisplayedDatetime(start, end, NOW_TIME, localTz, false,
dbUtils.getContext());
- assertEquals("Thursday, April 12, 8:00pm \u2013 9:00pm", result);
+ assertEquals("Thursday, April 12, 2012, 8:00PM \u2013 9:00PM", result);
}
@SmallTest
@@ -627,12 +627,12 @@ public class UtilsTests extends TestCase {
String localTz = "America/New_York";
setTimezone(localTz);
- // 4/2/2012 12:00am - 4/3/2012 12:00am
+ // 4/2/2012 12:00AM - 4/3/2012 12:00AM
long start = createTimeInMillis(0, 0, 0, 2, 3, NOW_YEAR, Time.TIMEZONE_UTC);
long end = createTimeInMillis(0, 0, 0, 3, 3, NOW_YEAR, Time.TIMEZONE_UTC);
String result = Utils.getDisplayedDatetime(start, end, NOW_TIME, localTz, true,
dbUtils.getContext());
- assertEquals("Monday, April 2", result);
+ assertEquals("Monday, April 2, 2012", result);
}
@SmallTest
@@ -640,7 +640,7 @@ public class UtilsTests extends TestCase {
String localTz = "America/New_York";
setTimezone(localTz);
- // 4/2/2012 12:00am - 4/3/2012 12:00am
+ // 4/2/2012 12:00AM - 4/3/2012 12:00AM
long start = createTimeInMillis(0, 0, 0, NOW_DAY + 1, NOW_MONTH, NOW_YEAR,
Time.TIMEZONE_UTC);
long end = createTimeInMillis(0, 0, 0, NOW_DAY + 2, NOW_MONTH, NOW_YEAR,
diff --git a/tests/src/com/android/calendar/event/EditEventHelperTest.java b/tests/src/com/android/calendar/event/EditEventHelperTest.java
index a6794f7f..a758141b 100644
--- a/tests/src/com/android/calendar/event/EditEventHelperTest.java
+++ b/tests/src/com/android/calendar/event/EditEventHelperTest.java
@@ -42,9 +42,11 @@ import com.android.calendar.AsyncQueryService;
import com.android.calendar.CalendarEventModel;
import com.android.calendar.CalendarEventModel.ReminderEntry;
import com.android.calendar.R;
+import com.android.calendar.Utils;
import com.android.common.Rfc822Validator;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Calendar;
import java.util.LinkedHashSet;
import java.util.TimeZone;
@@ -69,11 +71,14 @@ public class EditEventHelperTest extends AndroidTestCase {
private static final int SAVE_EVENT_FIRST_TO_RECUR = 9;
private static final int SAVE_EVENT_ALLFOLLOW_TO_RECUR = 10;
+ /* These should match up with EditEventHelper.EVENT_PROJECTION.
+ * Note that spaces and commas have been removed to allow for easier sanitation.
+ */
private static String[] TEST_CURSOR_DATA = new String[] {
Integer.toString(TEST_EVENT_ID), // 0 _id
- "The Question", // 1 title
- "Evaluating Life, the Universe, and Everything",// 2 description
- "Earth Mk2", // 3 location
+ "The_Question", // 1 title
+ "Evaluating_Life_the_Universe_and_Everything", // 2 description
+ "Earth_Mk2", // 3 location
"1", // 4 All Day
"0", // 5 Has alarm
"2", // 6 Calendar id
@@ -82,17 +87,20 @@ public class EditEventHelperTest extends AndroidTestCase {
"P3652421990D", // 9 duration, (10 million years)
"UTC", // 10 event timezone
"FREQ=DAILY;WKST=SU", // 11 rrule
- "unique per calendar stuff", // 12 sync id
- "0", // 13 transparency
- "3", // 14 visibility
+ "unique_per_calendar_stuff", // 12 sync id
+ "0", // 13 transparency/availability
+ "3", // 14 visibility/access level
"steve@gmail.com", // 15 owner account
"1", // 16 has attendee data
null, //17 originalSyncId
"organizer@gmail.com", // 18 organizer
"0", // 19 guest can modify
- null, // 20 original id
- "1" // event status
- }; // These should match up with EditEventHelper.EVENT_PROJECTION
+ "-1", // 20 original id
+ "1", // 21 event status
+ "-339611", // 22 calendar color
+ "-2350809", // 23 event color
+ "11" // 24 event color key
+ };
private static final String AUTHORITY_URI = "content://EditEventHelperAuthority/";
private static final String AUTHORITY = "EditEventHelperAuthority";
@@ -103,10 +111,17 @@ public class EditEventHelperTest extends AndroidTestCase {
private static final String TEST_ADDRESSES2 =
"no good, ad1@email.com, \"First Last\" <first@email.com> (comment), " +
"different@email.bit";
+ private static final String TEST_ADDRESSES3 =
+ "ad1@email.com, \"First Last\" <first@email.com> (comment), " +
+ "different@email.bit";
+ private static final String TEST_ADDRESSES4 =
+ "ad1@email.com, \"First Last\" <first@email.com> (comment), " +
+ "one.two.three@email.grue";
private static final String TAG = "EEHTest";
+ private Rfc822Validator mEmailValidator;
private CalendarEventModel mModel1;
private CalendarEventModel mModel2;
@@ -128,6 +143,8 @@ public class EditEventHelperTest extends AndroidTestCase {
time.set(TEST_END);
time.timezone = LOCAL_TZ;
TEST_END2 = time.normalize(true);
+
+ mEmailValidator = new Rfc822Validator(null);
}
private class MockAbsCalendarActivity extends AbstractCalendarActivity {
@@ -230,6 +247,15 @@ public class EditEventHelperTest extends AndroidTestCase {
expectedOps.add(b.build());
}
+ private void addOwnerAttendeeToOps(ArrayList<ContentProviderOperation> expectedOps) {
+ addOwnerAttendee();
+ mExpectedValues.put(Attendees.EVENT_ID, TEST_EVENT_ID);
+ ContentProviderOperation.Builder b;
+ b = ContentProviderOperation.newInsert(Attendees.CONTENT_URI).withValues(mExpectedValues);
+ expectedOps.add(b.build());
+ }
+
+
// Some tests set the time values to one day later, this does that move in the values
private void moveExpectedTimeValuesForwardOneDay() {
long dayInMs = EditEventHelper.DAY_IN_SECONDS*1000;
@@ -246,10 +272,10 @@ public class EditEventHelperTest extends AndroidTestCase {
expectedOps.add(b.build());
mExpectedValues.clear();
- mExpectedValues.put(Attendees.ATTENDEE_NAME, (String)null);
+ mExpectedValues.put(Attendees.ATTENDEE_NAME, "different@email.bit");
mExpectedValues.put(Attendees.ATTENDEE_EMAIL, "different@email.bit");
mExpectedValues.put(Attendees.ATTENDEE_RELATIONSHIP, Attendees.RELATIONSHIP_ATTENDEE);
- mExpectedValues.put(Attendees.ATTENDEE_TYPE, Attendees.TYPE_NONE);
+ mExpectedValues.put(Attendees.ATTENDEE_TYPE, Attendees.TYPE_REQUIRED);
mExpectedValues.put(Attendees.ATTENDEE_STATUS, Attendees.ATTENDEE_STATUS_NONE);
mExpectedValues.put(Attendees.EVENT_ID, TEST_EVENT_ID);
b = ContentProviderOperation
@@ -263,7 +289,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mExpectedValues.clear();
mExpectedValues.put(Attendees.ATTENDEE_EMAIL, mModel1.mOwnerAccount);
mExpectedValues.put(Attendees.ATTENDEE_RELATIONSHIP, Attendees.RELATIONSHIP_ORGANIZER);
- mExpectedValues.put(Attendees.ATTENDEE_TYPE, Attendees.TYPE_NONE);
+ mExpectedValues.put(Attendees.ATTENDEE_TYPE, Attendees.TYPE_REQUIRED);
mExpectedValues.put(Attendees.ATTENDEE_STATUS, Attendees.ATTENDEE_STATUS_ACCEPTED);
}
@@ -274,10 +300,10 @@ public class EditEventHelperTest extends AndroidTestCase {
boolean newEvent, int id) {
ContentProviderOperation.Builder b;
mExpectedValues.clear();
- mExpectedValues.put(Attendees.ATTENDEE_NAME, (String)null);
+ mExpectedValues.put(Attendees.ATTENDEE_NAME, "ad1@email.com");
mExpectedValues.put(Attendees.ATTENDEE_EMAIL, "ad1@email.com");
mExpectedValues.put(Attendees.ATTENDEE_RELATIONSHIP, Attendees.RELATIONSHIP_ATTENDEE);
- mExpectedValues.put(Attendees.ATTENDEE_TYPE, Attendees.TYPE_NONE);
+ mExpectedValues.put(Attendees.ATTENDEE_TYPE, Attendees.TYPE_REQUIRED);
mExpectedValues.put(Attendees.ATTENDEE_STATUS, Attendees.ATTENDEE_STATUS_NONE);
if (newEvent) {
@@ -297,7 +323,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mExpectedValues.put(Attendees.ATTENDEE_NAME, "First Last");
mExpectedValues.put(Attendees.ATTENDEE_EMAIL, "first@email.com");
mExpectedValues.put(Attendees.ATTENDEE_RELATIONSHIP, Attendees.RELATIONSHIP_ATTENDEE);
- mExpectedValues.put(Attendees.ATTENDEE_TYPE, Attendees.TYPE_NONE);
+ mExpectedValues.put(Attendees.ATTENDEE_TYPE, Attendees.TYPE_REQUIRED);
mExpectedValues.put(Attendees.ATTENDEE_STATUS, Attendees.ATTENDEE_STATUS_NONE);
if (newEvent) {
@@ -314,10 +340,10 @@ public class EditEventHelperTest extends AndroidTestCase {
ops.add(b.build());
mExpectedValues.clear();
- mExpectedValues.put(Attendees.ATTENDEE_NAME, (String)null);
+ mExpectedValues.put(Attendees.ATTENDEE_NAME, "different@email.bit");
mExpectedValues.put(Attendees.ATTENDEE_EMAIL, "different@email.bit");
mExpectedValues.put(Attendees.ATTENDEE_RELATIONSHIP, Attendees.RELATIONSHIP_ATTENDEE);
- mExpectedValues.put(Attendees.ATTENDEE_TYPE, Attendees.TYPE_NONE);
+ mExpectedValues.put(Attendees.ATTENDEE_TYPE, Attendees.TYPE_REQUIRED);
mExpectedValues.put(Attendees.ATTENDEE_STATUS, Attendees.ATTENDEE_STATUS_NONE);
if (newEvent) {
@@ -368,7 +394,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mHelper = new EditEventHelper(mActivity, null);
mModel1 = buildTestModel();
-// mModel1.mAttendees = TEST_ADDRESSES2;
+ mModel1.addAttendees(TEST_ADDRESSES2, mEmailValidator);
mCurrentSaveTest = SAVE_EVENT_NEW_EVENT;
assertTrue(mHelper.saveEvent(mModel1, null, 0));
@@ -406,7 +432,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1 = buildTestModel();
mModel2 = buildTestModel();
-// mModel1.mAttendees = TEST_ADDRESSES2;
+ mModel1.addAttendees(TEST_ADDRESSES2, mEmailValidator);
// Updating a recurring event with a new attendee list
mModel1.mUri = (AUTHORITY_URI + TEST_EVENT_ID);
@@ -414,8 +440,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1.mOriginalStart = TEST_START;
// The original model is assumed correct so drop the no good bit
-// mModel2.mAttendees = "ad1@email.com, \"First Last\" <first@email.com> (comment), " +
-// "one.two.three@email.grue";
+ mModel2.addAttendees(TEST_ADDRESSES4, null);
mCurrentSaveTest = SAVE_EVENT_MOD_RECUR;
assertTrue(mHelper.saveEvent(mModel1, mModel2, EditEventHelper.MODIFY_ALL));
@@ -437,6 +462,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mHelper.saveReminders(expectedOps, TEST_EVENT_ID, mModel1.mReminders,
mModel2.mReminders, false);
+ addOwnerAttendeeToOps(expectedOps);
addAttendeeChangesOps(expectedOps);
assertEquals(ops, expectedOps);
@@ -452,7 +478,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1 = buildTestModel();
mModel2 = buildTestModel();
-// mModel1.mAttendees = TEST_ADDRESSES2;
+ mModel1.addAttendees(TEST_ADDRESSES2, mEmailValidator);
// Updating a recurring event with a new attendee list
mModel1.mUri = (AUTHORITY_URI + TEST_EVENT_ID);
@@ -460,8 +486,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1.mOriginalStart = TEST_START;
// The original model is assumed correct so drop the no good bit
-// mModel2.mAttendees = "ad1@email.com, \"First Last\" <first@email.com> (comment), " +
-// "one.two.three@email.grue";
+ mModel2.addAttendees(TEST_ADDRESSES4, null);
// Replace an existing recurring event with a non-recurring event
mModel1.mRrule = null;
@@ -508,7 +533,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1 = buildTestModel();
mModel2 = buildTestModel();
-// mModel1.mAttendees = TEST_ADDRESSES2;
+ mModel1.addAttendees(TEST_ADDRESSES2, mEmailValidator);
// Updating a recurring event with a new attendee list
mModel1.mUri = (AUTHORITY_URI + TEST_EVENT_ID);
@@ -516,8 +541,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1.mOriginalStart = TEST_START;
// The original model is assumed correct so drop the no good bit
-// mModel2.mAttendees = "ad1@email.com, \"First Last\" <first@email.com> (comment), " +
-// "one.two.three@email.grue";
+ mModel2.addAttendees(TEST_ADDRESSES4, null);
mModel2.mRrule = null;
mModel2.mEnd = TEST_END;
@@ -542,7 +566,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1 = buildTestModel();
mModel2 = buildTestModel();
-// mModel1.mAttendees = TEST_ADDRESSES2;
+ mModel1.addAttendees(TEST_ADDRESSES2, mEmailValidator);
// Updating a recurring event with a new attendee list
mModel1.mUri = (AUTHORITY_URI + TEST_EVENT_ID);
@@ -550,8 +574,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1.mOriginalStart = TEST_START;
// The original model is assumed correct so drop the no good bit
-// mModel2.mAttendees = "ad1@email.com, \"First Last\" <first@email.com> (comment), " +
-// "one.two.three@email.grue";
+ mModel2.addAttendees(TEST_ADDRESSES4, null);
mModel2.mRrule = null;
mModel2.mEnd = TEST_END2;
@@ -575,6 +598,7 @@ public class EditEventHelperTest extends AndroidTestCase {
// This call has a separate unit test so we'll use it to simplify making the expected vals
mHelper.saveReminders(expectedOps, TEST_EVENT_ID, mModel1.mReminders,
mModel2.mReminders, false);
+ addOwnerAttendeeToOps(expectedOps);
addAttendeeChangesOps(expectedOps);
assertEquals(ops, expectedOps);
@@ -590,15 +614,14 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1 = buildTestModel();
mModel2 = buildTestModel();
-// mModel1.mAttendees = TEST_ADDRESSES2;
+ mModel1.addAttendees(TEST_ADDRESSES2, mEmailValidator);
mModel1.mUri = (AUTHORITY_URI + TEST_EVENT_ID);
// And a new start time to ensure the time fields aren't removed
mModel1.mOriginalStart = TEST_START;
// The original model is assumed correct so drop the no good bit
-// mModel2.mAttendees = "ad1@email.com, \"First Last\" <first@email.com> (comment), " +
-// "one.two.three@email.grue";
+ mModel2.addAttendees(TEST_ADDRESSES4, null);
// Modify the second instance of the event
long dayInMs = EditEventHelper.DAY_IN_SECONDS*1000;
@@ -652,14 +675,13 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1 = buildTestModel();
mModel2 = buildTestModel();
-// mModel1.mAttendees = TEST_ADDRESSES2;
+ mModel1.addAttendees(TEST_ADDRESSES2, mEmailValidator);
mModel1.mUri = (AUTHORITY_URI + TEST_EVENT_ID);
mModel2.mUri = (AUTHORITY_URI + TEST_EVENT_ID);
// The original model is assumed correct so drop the no good bit
-// mModel2.mAttendees = "ad1@email.com, \"First Last\" <first@email.com> (comment), " +
-// "one.two.three@email.grue";
+ mModel2.addAttendees(TEST_ADDRESSES4, null);
// Modify the second instance of the event
long dayInMs = EditEventHelper.DAY_IN_SECONDS*1000;
@@ -709,7 +731,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1 = buildTestModel();
mModel2 = buildTestModel();
-// mModel1.mAttendees = TEST_ADDRESSES2;
+ mModel1.addAttendees(TEST_ADDRESSES2, mEmailValidator);
mModel1.mUri = (AUTHORITY_URI + TEST_EVENT_ID);
mModel2.mUri = mModel1.mUri;
@@ -717,8 +739,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1.mOriginalStart = TEST_START;
// The original model is assumed correct so drop the no good bit
-// mModel2.mAttendees = "ad1@email.com, \"First Last\" <first@email.com> (comment), " +
-// "one.two.three@email.grue";
+ mModel2.addAttendees(TEST_ADDRESSES3, null);
// Move the event one day but keep original start set to the first instance
long dayInMs = EditEventHelper.DAY_IN_SECONDS*1000;
@@ -768,7 +789,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1 = buildTestModel();
mModel2 = buildTestModel();
-// mModel1.mAttendees = TEST_ADDRESSES2;
+ mModel1.addAttendees(TEST_ADDRESSES2, mEmailValidator);
mModel1.mUri = (AUTHORITY_URI + TEST_EVENT_ID);
mModel2.mUri = mModel1.mUri;
@@ -776,8 +797,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1.mOriginalStart = TEST_START;
// The original model is assumed correct so drop the no good bit
-// mModel2.mAttendees = "ad1@email.com, \"First Last\" <first@email.com> (comment), " +
-// "one.two.three@email.grue";
+ mModel2.addAttendees(TEST_ADDRESSES4, null);
// Move the event one day but keep original start set to the first instance
long dayInMs = EditEventHelper.DAY_IN_SECONDS*1000;
@@ -807,6 +827,7 @@ public class EditEventHelperTest extends AndroidTestCase {
mHelper.saveReminders(expectedOps, TEST_EVENT_ID, mModel1.mReminders,
mModel2.mReminders, true);
+ addOwnerAttendeeToOps(expectedOps);
addAttendeeChangesOps(expectedOps);
assertEquals(ops, expectedOps);
@@ -824,14 +845,13 @@ public class EditEventHelperTest extends AndroidTestCase {
mModel1 = buildTestModel();
mModel2 = buildTestModel();
-// mModel1.mAttendees = TEST_ADDRESSES2;
+ mModel1.addAttendees(TEST_ADDRESSES2, mEmailValidator);
mModel1.mUri = (AUTHORITY_URI + TEST_EVENT_ID);
mModel2.mUri = (AUTHORITY_URI + TEST_EVENT_ID);
// The original model is assumed correct so drop the no good bit
-// mModel2.mAttendees = "ad1@email.com, \"First Last\" <first@email.com> (comment), " +
-// "one.two.three@email.grue";
+ mModel2.addAttendees(TEST_ADDRESSES4, null);
// Move the event one day and the original start so it references the second instance
long dayInMs = EditEventHelper.DAY_IN_SECONDS*1000;
@@ -1449,8 +1469,8 @@ public class EditEventHelperTest extends AndroidTestCase {
assertEquals(size, actual.size());
for (int i = 0; i < size; i++) {
- assertTrue("At index " + i + ", expected:\n" + String.valueOf(expected) +
- "\nActual:\n" + String.valueOf(actual),
+ assertTrue("At index " + i + ", expected:\n" + String.valueOf(expected.get(i)) +
+ "\nActual:\n" + String.valueOf(actual.get(i)),
cpoEquals(expected.get(i), actual.get(i)));
}
@@ -1467,7 +1487,49 @@ public class EditEventHelperTest extends AndroidTestCase {
return false;
}
- return TextUtils.equals(cpo1.toString(), cpo2.toString());
+ // It turns out we can't trust the toString() of the ContentProviderOperations to be
+ // consistent, so we have to do the comparison manually.
+ //
+ // Start by splitting by commas, so that we can compare each key-value pair individually.
+ String[] operations1 = cpo1.toString().split(",");
+ String[] operations2 = cpo2.toString().split(",");
+ // The two numbers of operations must be equal.
+ if (operations1.length != operations2.length) {
+ return false;
+ }
+ // Iterate through the key-value pairs and separate out the key and value.
+ // The value may be either a single string, or a series of further key-value pairs
+ // that are separated by " ", with a "=" between the key and value.
+ for (int i = 0; i < operations1.length; i++) {
+ String operation1 = operations1[i];
+ String operation2 = operations2[i];
+ // Limit the array to length 2 in case a ":" appears in the value.
+ String[] keyValue1 = operation1.split(":", 2);
+ String[] keyValue2 = operation2.split(":", 2);
+ // If the key doesn't match, return false.
+ if (!keyValue1[0].equals(keyValue2[0])) {
+ return false;
+ }
+ // First just check if the value matches up. If so, we're good to go.
+ if (keyValue1[1].equals(keyValue2[1])) {
+ continue;
+ }
+ // If not, we need to try splitting the value by " " and sorting those keyvalue pairs.
+ // Note that these are trimmed first to ensure we're not thrown off by extra whitespace.
+ String[] valueKeyValuePairs1 = keyValue1[1].trim().split(" ");
+ String[] valueKeyValuePairs2 = keyValue2[1].trim().split(" ");
+ // Sort the value's keyvalue pairs alphabetically, and now compare them to each other.
+ Arrays.sort(valueKeyValuePairs1);
+ Arrays.sort(valueKeyValuePairs2);
+ for (int j = 0; j < valueKeyValuePairs1.length; j++) {
+ if (!valueKeyValuePairs1[j].equals(valueKeyValuePairs2[j])) {
+ return false;
+ }
+ }
+ }
+
+ // If we make it all the way through without finding anything different, return true.
+ return true;
}
// Generates a default model for testing. Should match up with
@@ -1475,9 +1537,9 @@ public class EditEventHelperTest extends AndroidTestCase {
private CalendarEventModel buildTestModel() {
CalendarEventModel model = new CalendarEventModel();
model.mId = TEST_EVENT_ID;
- model.mTitle = "The Question";
- model.mDescription = "Evaluating Life, the Universe, and Everything";
- model.mLocation = "Earth Mk2";
+ model.mTitle = "The_Question";
+ model.mDescription = "Evaluating_Life_the_Universe_and_Everything";
+ model.mLocation = "Earth_Mk2";
model.mAllDay = true;
model.mHasAlarm = false;
model.mCalendarId = 2;
@@ -1486,14 +1548,22 @@ public class EditEventHelperTest extends AndroidTestCase {
// The model uses the local timezone for allday
model.mTimezone = "UTC";
model.mRrule = "FREQ=DAILY;WKST=SU";
- model.mSyncId = "unique per calendar stuff";
+ model.mSyncId = "unique_per_calendar_stuff";
model.mAvailability = 0;
model.mAccessLevel = 2; // This is one less than the values written if >0
model.mOwnerAccount = "steve@gmail.com";
model.mHasAttendeeData = true;
- model.mEventStatus = Events.STATUS_CONFIRMED;
model.mOrganizer = "organizer@gmail.com";
+ model.mIsOrganizer = false;
model.mGuestsCanModify = false;
+ model.mEventStatus = Events.STATUS_CONFIRMED;
+ int displayColor = Utils.getDisplayColorFromColor(-2350809);
+ model.mEventColor = displayColor;
+ model.mCalendarAccountName = "steve.owner@gmail.com";
+ model.mCalendarAccountType = "gmail.com";
+ EventColorCache cache = new EventColorCache();
+ cache.insertColor("steve.owner@gmail.com", "gmail.com", displayColor, 12);
+ model.mEventColorCache = cache;
model.mModelUpdatedWithEventCursor = true;
return model;
}
@@ -1506,7 +1576,7 @@ public class EditEventHelperTest extends AndroidTestCase {
values.put(Events.CALENDAR_ID, 2L);
values.put(Events.EVENT_TIMEZONE, "UTC"); // Allday events are converted
// to UTC for the db
- values.put(Events.TITLE, "The Question");
+ values.put(Events.TITLE, "The_Question");
values.put(Events.ALL_DAY, 1);
values.put(Events.DTSTART, TEST_START); // Monday, May 3rd, midnight UTC time
values.put(Events.HAS_ATTENDEE_DATA, 1);
@@ -1514,12 +1584,13 @@ public class EditEventHelperTest extends AndroidTestCase {
values.put(Events.RRULE, "FREQ=DAILY;WKST=SU");
values.put(Events.DURATION, "P3652421990D");
values.put(Events.DTEND, (Long) null);
- values.put(Events.DESCRIPTION, "Evaluating Life, the Universe, and Everything");
- values.put(Events.EVENT_LOCATION, "Earth Mk2");
+ values.put(Events.DESCRIPTION, "Evaluating_Life_the_Universe_and_Everything");
+ values.put(Events.EVENT_LOCATION, "Earth_Mk2");
values.put(Events.AVAILABILITY, 0);
values.put(Events.STATUS, Events.STATUS_CONFIRMED);
values.put(Events.ACCESS_LEVEL, 3); // This is one more than the model if
// >0
+ values.put(Events.EVENT_COLOR_KEY, 12);
return values;
}
diff --git a/tests/src/com/android/calendar/widget/CalendarAppWidgetServiceTest.java b/tests/src/com/android/calendar/widget/CalendarAppWidgetServiceTest.java
index c66565b2..20be9d4d 100644
--- a/tests/src/com/android/calendar/widget/CalendarAppWidgetServiceTest.java
+++ b/tests/src/com/android/calendar/widget/CalendarAppWidgetServiceTest.java
@@ -20,6 +20,7 @@ package com.android.calendar.widget;
import com.android.calendar.widget.CalendarAppWidgetModel.EventInfo;
import com.android.calendar.widget.CalendarAppWidgetService.CalendarFactory;
+import android.content.Context;
import android.database.MatrixCursor;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
@@ -38,8 +39,7 @@ public class CalendarAppWidgetServiceTest extends AndroidTestCase {
private static final String TAG = "CalendarAppWidgetService";
private static final String DEFAULT_TIMEZONE = "America/Los_Angeles";
-
- final long now = 1262340000000L; // Fri Jan 01 2010 02:00:00 GMT-0800 (PST)
+ long now;
final long ONE_MINUTE = 60000;
final long ONE_HOUR = 60 * ONE_MINUTE;
final long HALF_HOUR = ONE_HOUR / 2;
@@ -75,6 +75,15 @@ public class CalendarAppWidgetServiceTest extends AndroidTestCase {
super.setUp();
// we want to run these tests in a predictable timezone
TimeZone.setDefault(TimeZone.getTimeZone(DEFAULT_TIMEZONE));
+
+ // Set the "current time" to 2am tomorrow.
+ Time time = new Time();
+ time.setToNow();
+ time.monthDay += 1;
+ time.hour = 2;
+ time.minute = 0;
+ time.second = 0;
+ now = time.normalize(false);
}
@Override
@@ -100,7 +109,7 @@ public class CalendarAppWidgetServiceTest extends AndroidTestCase {
eventInfo.visibWhen = View.VISIBLE;
eventInfo.visibWhere = View.VISIBLE;
eventInfo.visibTitle = View.VISIBLE;
- eventInfo.when = "3am";
+ eventInfo.when = "3am – 4am";
eventInfo.where = location;
eventInfo.title = title;
expected.mEventInfos.add(eventInfo);
@@ -112,55 +121,9 @@ public class CalendarAppWidgetServiceTest extends AndroidTestCase {
assertEquals(expected.toString(), actual.toString());
}
- // TODO re-enable this test when our widget behavior is finalized
- @Suppress @SmallTest
- public void testGetAppWidgetModel_2StaggeredEvents() throws Exception {
- CalendarAppWidgetModel expected = new CalendarAppWidgetModel(getContext(), Time
- .getCurrentTimezone());
- MatrixCursor cursor = new MatrixCursor(CalendarAppWidgetService.EVENT_PROJECTION, 0);
-
- int i = 0;
- long tomorrow = now + DateUtils.DAY_IN_MILLIS;
- long sunday = tomorrow + DateUtils.DAY_IN_MILLIS;
-
- // Expected Output
- EventInfo eventInfo = new EventInfo();
- eventInfo.visibWhen = View.VISIBLE;
- eventInfo.visibWhere = View.VISIBLE;
- eventInfo.visibTitle = View.VISIBLE;
- eventInfo.when = "2am, Tomorrow";
- eventInfo.where = location + i;
- eventInfo.title = title + i;
- expected.mEventInfos.add(eventInfo);
-
- ++i;
- eventInfo = new EventInfo();
- eventInfo.visibWhen = View.VISIBLE;
- eventInfo.visibWhere = View.VISIBLE;
- eventInfo.visibTitle = View.VISIBLE;
- eventInfo.when = "2am, Sun";
- eventInfo.where = location + i;
- eventInfo.title = title + i;
- expected.mEventInfos.add(eventInfo);
-
- // Input
- // allDay, begin, end, title, location, eventId
- i = 0;
- cursor.addRow(getRow(0, tomorrow, tomorrow + TWO_HOURS, title + i, location + i, 0));
- ++i;
- cursor.addRow(getRow(0, sunday, sunday + TWO_HOURS, title + i, location + i, 0));
- ++i;
-
- // Test
- CalendarAppWidgetModel actual = CalendarFactory.buildAppWidgetModel(
- getContext(), cursor, Time.getCurrentTimezone());
-
- assertEquals(expected.toString(), actual.toString());
- }
-
@SmallTest
- public void testGetAppWidgetModel_AllDayEventToday() throws Exception {
- final long now = 1262340000000L; // Fri Jan 01 2010 01:00:00 GMT-0700 (PDT)
+ public void testGetAppWidgetModel_AllDayEventLater() throws Exception {
+ Context context = getContext();
CalendarAppWidgetModel expected = new CalendarAppWidgetModel(getContext(), Time
.getCurrentTimezone());
MatrixCursor cursor = new MatrixCursor(CalendarAppWidgetService.EVENT_PROJECTION, 0);
@@ -172,111 +135,37 @@ public class CalendarAppWidgetServiceTest extends AndroidTestCase {
eventInfo.visibWhen = View.VISIBLE;
eventInfo.visibWhere = View.VISIBLE;
eventInfo.visibTitle = View.VISIBLE;
- eventInfo.when = "Today";
- eventInfo.where = location + i;
- eventInfo.title = title + i;
- expected.mEventInfos.add(eventInfo);
-
- i++;
- eventInfo = new EventInfo();
- eventInfo.visibWhen = View.VISIBLE;
- eventInfo.visibWhere = View.VISIBLE;
- eventInfo.visibTitle = View.VISIBLE;
- eventInfo.when = "3am";
+ eventInfo.when = "3am – 4am";
eventInfo.where = location + i;
eventInfo.title = title + i;
expected.mEventInfos.add(eventInfo);
-
- i = 0;
- cursor.addRow(getRow(1, 1262304000000L, 1262390400000L, title + i, location + i, 0));
- ++i;
cursor.addRow(getRow(0, now + ONE_HOUR, now + TWO_HOURS, title + i, location + i, 0));
- // Test
- CalendarAppWidgetModel actual = CalendarFactory.buildAppWidgetModel(
- getContext(), cursor, Time.getCurrentTimezone());
-
- assertEquals(expected.toString(), actual.toString());
- }
-
- @SmallTest
- public void testGetAppWidgetModel_AllDayEventTomorrow() throws Exception {
- final long now = 1262340000000L; // Fri Jan 01 2010 01:00:00 GMT-0700 (PDT)
- CalendarAppWidgetModel expected = new CalendarAppWidgetModel(getContext(), Time
- .getCurrentTimezone());
- MatrixCursor cursor = new MatrixCursor(CalendarAppWidgetService.EVENT_PROJECTION, 0);
-
- int i = 0;
-
- // Expected Output
- EventInfo eventInfo = new EventInfo();
- eventInfo.visibWhen = View.VISIBLE;
- eventInfo.visibWhere = View.VISIBLE;
- eventInfo.visibTitle = View.VISIBLE;
- eventInfo.when = "3am";
- eventInfo.where = location + i;
- eventInfo.title = title + i;
- expected.mEventInfos.add(eventInfo);
-
i++;
- eventInfo = new EventInfo();
- eventInfo.visibWhen = View.VISIBLE;
- eventInfo.visibWhere = View.VISIBLE;
- eventInfo.visibTitle = View.VISIBLE;
- eventInfo.when = "Tomorrow";
- eventInfo.where = location + i;
- eventInfo.title = title + i;
- expected.mEventInfos.add(eventInfo);
-
- i = 0;
- cursor.addRow(getRow(0, now + ONE_HOUR, now + TWO_HOURS, title + i, location + i, 0));
- ++i;
- cursor.addRow(getRow(1, 1262390400000L, 1262476800000L, title + i, location + i, 0));
+ // Set the start time to 5 days from now at midnight UTC.
+ Time time = new Time();
+ time.set(now);
+ time.monthDay += 5;
+ time.hour = 0;
+ time.timezone = Time.TIMEZONE_UTC;
+ long start = time.normalize(false);
+ time.monthDay += 1;
+ long end = time.normalize(false);
- // Test
- CalendarAppWidgetModel actual = CalendarFactory.buildAppWidgetModel(
- getContext(), cursor, Time.getCurrentTimezone());
-
- assertEquals(expected.toString(), actual.toString());
- }
-
- @SmallTest
- public void testGetAppWidgetModel_AllDayEventLater() throws Exception {
- final long now = 1262340000000L; // Fri Jan 01 2010 01:00:00 GMT-0700 (PDT)
- CalendarAppWidgetModel expected = new CalendarAppWidgetModel(getContext(), Time
- .getCurrentTimezone());
- MatrixCursor cursor = new MatrixCursor(CalendarAppWidgetService.EVENT_PROJECTION, 0);
-
- int i = 0;
-
- // Expected Output
- EventInfo eventInfo = new EventInfo();
- eventInfo.visibWhen = View.VISIBLE;
- eventInfo.visibWhere = View.VISIBLE;
- eventInfo.visibTitle = View.VISIBLE;
- eventInfo.when = "3am";
- eventInfo.where = location + i;
- eventInfo.title = title + i;
- expected.mEventInfos.add(eventInfo);
-
- i++;
eventInfo = new EventInfo();
eventInfo.visibWhen = View.VISIBLE;
eventInfo.visibWhere = View.VISIBLE;
eventInfo.visibTitle = View.VISIBLE;
- eventInfo.when = "Sun";
+ eventInfo.when = DateUtils.formatDateTime(context, end,
+ DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_ABBREV_ALL);
eventInfo.where = location + i;
eventInfo.title = title + i;
expected.mEventInfos.add(eventInfo);
-
- i = 0;
- cursor.addRow(getRow(0, now + ONE_HOUR, now + TWO_HOURS, title + i, location + i, 0));
- ++i;
- cursor.addRow(getRow(1, 1262476800000L, 1262563200000L, title + i, location + i, 0));
+ cursor.addRow(getRow(1, start, end, title + i, location + i, 0));
// Test
CalendarAppWidgetModel actual = CalendarAppWidgetService.CalendarFactory.buildAppWidgetModel(
- getContext(), cursor, Time.getCurrentTimezone());
+ context, cursor, Time.getCurrentTimezone());
assertEquals(expected.toString(), actual.toString());
}