summaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/mail/compose/ComposeActivityTest.java
diff options
context:
space:
mode:
authorMindy Pereira <mindyp@google.com>2012-01-11 16:11:19 -0800
committerMindy Pereira <mindyp@google.com>2012-01-12 08:22:07 -0800
commit1666816f97b7d69124d25f61415b8e258357e4db (patch)
treec602f1074144130f05d9cdaede0238941f07c179 /tests/src/com/android/mail/compose/ComposeActivityTest.java
parenta7af5c4a0e6ac3b04e869331c9bebc32a7447a36 (diff)
downloadandroid_packages_apps_UnifiedEmail-1666816f97b7d69124d25f61415b8e258357e4db.tar.gz
android_packages_apps_UnifiedEmail-1666816f97b7d69124d25f61415b8e258357e4db.tar.bz2
android_packages_apps_UnifiedEmail-1666816f97b7d69124d25f61415b8e258357e4db.zip
More recipient tests for reply/reply all/ fwd.
Also added _column to the end of the html_body and text_body fields for message columns. Change-Id: I565a89d9eb811d122ca7aafd62b15a97c3cfe484
Diffstat (limited to 'tests/src/com/android/mail/compose/ComposeActivityTest.java')
-rw-r--r--tests/src/com/android/mail/compose/ComposeActivityTest.java124
1 files changed, 115 insertions, 9 deletions
diff --git a/tests/src/com/android/mail/compose/ComposeActivityTest.java b/tests/src/com/android/mail/compose/ComposeActivityTest.java
index 100345d03..c90bc0451 100644
--- a/tests/src/com/android/mail/compose/ComposeActivityTest.java
+++ b/tests/src/com/android/mail/compose/ComposeActivityTest.java
@@ -17,15 +17,21 @@
package com.android.mail.compose;
import android.database.Cursor;
+import android.database.MatrixCursor;
import android.net.Uri;
+import android.provider.BaseColumns;
import android.test.ActivityInstrumentationTestCase2;
+import android.text.Html;
import android.text.TextUtils;
import android.text.util.Rfc822Tokenizer;
import com.android.mail.providers.Account;
import com.android.mail.providers.UIProvider;
+import com.android.mail.providers.UIProvider.MessageColumns;
import com.android.mail.utils.AccountUtils;
+import java.util.Date;
+
public class ComposeActivityTest extends ActivityInstrumentationTestCase2<ComposeActivity> {
private ComposeActivity mActivity;
@@ -38,15 +44,6 @@ public class ComposeActivityTest extends ActivityInstrumentationTestCase2<Compos
@Override
protected void setUp() throws Exception {
mActivity = getActivity();
- // Get a mock account.
- Account[] results = AccountUtils.getSyncingAccounts(mActivity, null, null, null);
- for (Account account : results) {
- if (account.name.equals("account1@mockuiprovider.com")) {
- mAccount = account;
- mActivity.setAccount(mAccount);
- break;
- }
- }
super.setUp();
}
@@ -77,7 +74,20 @@ public class ComposeActivityTest extends ActivityInstrumentationTestCase2<Compos
return msgCursor;
}
+ public void setAccount(String accountName) {
+ // Get a mock account.
+ Account[] results = AccountUtils.getSyncingAccounts(mActivity, null, null, null);
+ for (Account account : results) {
+ if (account.name.equals(accountName)) {
+ mAccount = account;
+ mActivity.setAccount(mAccount);
+ break;
+ }
+ }
+ }
+
public void testReply() {
+ setAccount("account0@mockuiprovider.com");
final Cursor refMessage = getRefMessage();
final ComposeActivity activity = mActivity;
final Account account = mAccount;
@@ -98,7 +108,30 @@ public class ComposeActivityTest extends ActivityInstrumentationTestCase2<Compos
});
}
+ public void testReplyWithReplyTo() {
+ setAccount("account1@mockuiprovider.com");
+ final Cursor refMessage = getRefMessage();
+ final ComposeActivity activity = mActivity;
+ final Account account = mAccount;
+ final String refReplyToAccount = refMessage.getString(UIProvider.MESSAGE_REPLY_TO_COLUMN);
+
+ mActivity.runOnUiThread(new Runnable() {
+ public void run() {
+ activity.initReplyRecipients(account.name, refMessage, ComposeActivity.REPLY);
+ String[] to = activity.getToAddresses();
+ String[] cc = activity.getCcAddresses();
+ String[] bcc = activity.getBccAddresses();
+ assertTrue(to.length == 1);
+ assertEquals(refReplyToAccount,
+ Rfc822Tokenizer.tokenize(to[0])[0].getAddress());
+ assertTrue(cc.length == 0);
+ assertTrue(bcc.length == 0);
+ }
+ });
+ }
+
public void testReplyAll() {
+ setAccount("account0@mockuiprovider.com");
final Cursor refMessage = getRefMessage();
final ComposeActivity activity = mActivity;
final Account account = mAccount;
@@ -121,7 +154,79 @@ public class ComposeActivityTest extends ActivityInstrumentationTestCase2<Compos
});
}
+ public void testReplyAllWithReplyTo() {
+ setAccount("account1@mockuiprovider.com");
+ final Cursor refMessage = getRefMessage();
+ final ComposeActivity activity = mActivity;
+ final Account account = mAccount;
+ final String[] refMessageTo = TextUtils.split(
+ refMessage.getString(UIProvider.MESSAGE_TO_COLUMN), ",");
+ final String refReplyToAccount = refMessage.getString(UIProvider.MESSAGE_REPLY_TO_COLUMN);
+
+ mActivity.runOnUiThread(new Runnable() {
+ public void run() {
+ activity.initReplyRecipients(account.name, refMessage, ComposeActivity.REPLY_ALL);
+ String[] to = activity.getToAddresses();
+ String[] cc = activity.getCcAddresses();
+ String[] bcc = activity.getBccAddresses();
+ assertTrue(to.length == 1);
+ assertEquals(refReplyToAccount, Rfc822Tokenizer.tokenize(to[0])[0].getAddress());
+ assertEquals(cc.length, refMessageTo.length);
+ assertTrue(bcc.length == 0);
+ }
+ });
+ }
+
+ private Cursor getRefMessageWithCc(long messageId, boolean hasAttachments) {
+ MatrixCursor cursor = new MatrixCursor(UIProvider.MESSAGE_PROJECTION);
+ final String messageUri = "content://xxx/message/" + messageId;
+ Object[] messageValues = new Object[UIProvider.MESSAGE_PROJECTION.length];
+ messageValues[UIProvider.MESSAGE_ID_COLUMN] = Long.valueOf(messageId);
+ messageValues[UIProvider.MESSAGE_URI_COLUMN] = messageUri;
+ messageValues[UIProvider.MESSAGE_SUBJECT_COLUMN] = "Message subject";
+ messageValues[UIProvider.MESSAGE_SNIPPET_COLUMN] = "SNIPPET";
+ String html = "<html><body><b><i>This is some html!!!</i></b></body></html>";
+ messageValues[UIProvider.MESSAGE_BODY_HTML_COLUMN] = html;
+ messageValues[UIProvider.MESSAGE_BODY_TEXT_COLUMN] = Html.fromHtml(html);
+ messageValues[UIProvider.MESSAGE_HAS_ATTACHMENTS_COLUMN] = new Boolean(hasAttachments);
+ messageValues[UIProvider.MESSAGE_DATE_RECEIVED_MS_COLUMN] = new Date().getTime();
+ messageValues[UIProvider.MESSAGE_ATTACHMENT_LIST_URI_COLUMN] = messageUri
+ + "/getAttachments";
+ messageValues[UIProvider.MESSAGE_TO_COLUMN] = "account1@mock.com, account2@mock.com";
+ messageValues[UIProvider.MESSAGE_FROM_COLUMN] = "fromaccount1@mock.com";
+ messageValues[UIProvider.MESSAGE_CC_COLUMN] = "accountcc1@mock.com, accountcc2@mock.com";
+ cursor.addRow(messageValues);
+ cursor.moveToFirst();
+ return cursor;
+ }
+
+ public void testReplyAllWithCc() {
+ setAccount("account1@mockuiprovider.com");
+ final Cursor refMessage = getRefMessageWithCc(0, false);
+ final ComposeActivity activity = mActivity;
+ final Account account = mAccount;
+ final String[] refMessageTo = TextUtils.split(
+ refMessage.getString(UIProvider.MESSAGE_TO_COLUMN), ",");
+ final String[] refMessageCc = TextUtils.split(
+ refMessage.getString(UIProvider.MESSAGE_CC_COLUMN), ",");
+ final String refMessageFromAccount = refMessage.getString(UIProvider.MESSAGE_FROM_COLUMN);
+
+ mActivity.runOnUiThread(new Runnable() {
+ public void run() {
+ activity.initReplyRecipients(account.name, refMessage, ComposeActivity.REPLY_ALL);
+ String[] to = activity.getToAddresses();
+ String[] cc = activity.getCcAddresses();
+ String[] bcc = activity.getBccAddresses();
+ assertTrue(to.length == 1);
+ assertEquals(refMessageFromAccount, Rfc822Tokenizer.tokenize(to[0])[0].getAddress());
+ assertEquals(cc.length, refMessageTo.length + refMessageCc.length);
+ assertTrue(bcc.length == 0);
+ }
+ });
+ }
+
public void testForward() {
+ setAccount("account0@mockuiprovider.com");
final Cursor refMessage = getRefMessage();
final ComposeActivity activity = mActivity;
final Account account = mAccount;
@@ -140,6 +245,7 @@ public class ComposeActivityTest extends ActivityInstrumentationTestCase2<Compos
}
public void testCompose() {
+ setAccount("account0@mockuiprovider.com");
final Cursor refMessage = getRefMessage();
final ComposeActivity activity = mActivity;
final Account account = mAccount;