diff options
author | Mindy Pereira <mindyp@google.com> | 2012-01-11 16:11:19 -0800 |
---|---|---|
committer | Mindy Pereira <mindyp@google.com> | 2012-01-12 08:22:07 -0800 |
commit | 1666816f97b7d69124d25f61415b8e258357e4db (patch) | |
tree | c602f1074144130f05d9cdaede0238941f07c179 /tests/src/com/android/mail/compose/ComposeActivityTest.java | |
parent | a7af5c4a0e6ac3b04e869331c9bebc32a7447a36 (diff) | |
download | android_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.java | 124 |
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; |