summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorsatok <satok@google.com>2010-02-04 11:51:08 +0900
committersatok <satok@google.com>2010-02-14 00:41:48 +0900
commit2a41aa538fe682b1f5dc1dff1ebe3a81c6644193 (patch)
treeb9fcb9b567755c851341445125ebd0bc34848e89 /tests
parent0f42334af2510cbfa9f6bc8645596f7819fdb75f (diff)
downloadandroid_packages_apps_Email-2a41aa538fe682b1f5dc1dff1ebe3a81c6644193.tar.gz
android_packages_apps_Email-2a41aa538fe682b1f5dc1dff1ebe3a81c6644193.tar.bz2
android_packages_apps_Email-2a41aa538fe682b1f5dc1dff1ebe3a81c6644193.zip
Add Signature to Email Composer
Bug: 1323618 - Add signature to the message - Set selection just after the message - Add tests for signature
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/android/email/activity/MessageComposeInstrumentationTests.java95
1 files changed, 75 insertions, 20 deletions
diff --git a/tests/src/com/android/email/activity/MessageComposeInstrumentationTests.java b/tests/src/com/android/email/activity/MessageComposeInstrumentationTests.java
index 7e97cfb50..446196b25 100644
--- a/tests/src/com/android/email/activity/MessageComposeInstrumentationTests.java
+++ b/tests/src/com/android/email/activity/MessageComposeInstrumentationTests.java
@@ -50,6 +50,7 @@ public class MessageComposeInstrumentationTests
private EditText mSubjectView;
private EditText mMessageView;
private long mCreatedAccountId = -1;
+ private String mSignature;
private static final String SENDER = "sender@android.com";
private static final String REPLYTO = "replyto@android.com";
@@ -60,6 +61,7 @@ public class MessageComposeInstrumentationTests
private static final String BODY = "This is the body. This is also the body.";
private static final String REPLY_BODY_SHORT = "\n\n" + SENDER + " wrote:\n\n";
private static final String REPLY_BODY = REPLY_BODY_SHORT + ">" + BODY;
+ private static final String SIGNATURE = "signature";
private static final String FROM = "Fred From <from@google.com>";
private static final String TO1 = "First To <first.to@google.com>";
@@ -126,7 +128,8 @@ public class MessageComposeInstrumentationTests
accountId = account.mId;
mCreatedAccountId = accountId;
}
- Account.restoreAccountWithId(context, accountId);
+ Account account = Account.restoreAccountWithId(context, accountId);
+ mSignature = account.getSignature();
Email.setServicesEnabled(context);
Intent intent = new Intent(Intent.ACTION_VIEW);
@@ -183,7 +186,7 @@ public class MessageComposeInstrumentationTests
runTestOnUiThread(new Runnable() {
public void run() {
a.processSourceMessage(message, null);
- checkFields(SENDER + ", ", null, null, "Re: " + SUBJECT, null);
+ checkFields(SENDER + ", ", null, null, "Re: " + SUBJECT, null, null);
checkFocused(mMessageView);
}
});
@@ -195,7 +198,7 @@ public class MessageComposeInstrumentationTests
public void run() {
resetViews();
a.processSourceMessage(message, null);
- checkFields(REPLYTO + ", ", null, null, "Re: " + SUBJECT, null);
+ checkFields(REPLYTO + ", ", null, null, "Re: " + SUBJECT, null, null);
checkFocused(mMessageView);
}
});
@@ -214,7 +217,7 @@ public class MessageComposeInstrumentationTests
runTestOnUiThread(new Runnable() {
public void run() {
a.processSourceMessage(message, null);
- checkFields(UTF16_SENDER + ", ", null, null, "Re: " + UTF16_SUBJECT, null);
+ checkFields(UTF16_SENDER + ", ", null, null, "Re: " + UTF16_SUBJECT, null, null);
checkFocused(mMessageView);
}
});
@@ -226,7 +229,7 @@ public class MessageComposeInstrumentationTests
public void run() {
resetViews();
a.processSourceMessage(message, null);
- checkFields(UTF16_REPLYTO + ", ", null, null, "Re: " + UTF16_SUBJECT, null);
+ checkFields(UTF16_REPLYTO + ", ", null, null, "Re: " + UTF16_SUBJECT, null, null);
checkFocused(mMessageView);
}
});
@@ -245,7 +248,7 @@ public class MessageComposeInstrumentationTests
runTestOnUiThread(new Runnable() {
public void run() {
a.processSourceMessage(message, null);
- checkFields(UTF32_SENDER + ", ", null, null, "Re: " + UTF32_SUBJECT, null);
+ checkFields(UTF32_SENDER + ", ", null, null, "Re: " + UTF32_SUBJECT, null, null);
checkFocused(mMessageView);
}
});
@@ -257,7 +260,7 @@ public class MessageComposeInstrumentationTests
public void run() {
resetViews();
a.processSourceMessage(message, null);
- checkFields(UTF32_REPLYTO + ", ", null, null, "Re: " + UTF32_SUBJECT, null);
+ checkFields(UTF32_REPLYTO + ", ", null, null, "Re: " + UTF32_SUBJECT, null, null);
checkFocused(mMessageView);
}
});
@@ -278,7 +281,7 @@ public class MessageComposeInstrumentationTests
runTestOnUiThread(new Runnable() {
public void run() {
a.processSourceMessage(message, null);
- checkFields(null, null, null, "Fwd: " + SUBJECT, null);
+ checkFields(null, null, null, "Fwd: " + SUBJECT, null, null);
checkFocused(mToView);
}
});
@@ -303,7 +306,7 @@ public class MessageComposeInstrumentationTests
runTestOnUiThread(new Runnable() {
public void run() {
a.processSourceMessage(message, null);
- checkFields(RECIPIENT_TO + ", ", null, null, SUBJECT, BODY);
+ checkFields(RECIPIENT_TO + ", ", null, null, SUBJECT, BODY, null);
checkFocused(mMessageView);
}
});
@@ -316,7 +319,7 @@ public class MessageComposeInstrumentationTests
public void run() {
resetViews();
a.processSourceMessage(message, null);
- checkFields(RECIPIENT_TO + ", ", null, null, null, BODY);
+ checkFields(RECIPIENT_TO + ", ", null, null, null, BODY, null);
checkFocused(mSubjectView);
}
});
@@ -339,7 +342,7 @@ public class MessageComposeInstrumentationTests
public void run() {
a.processSourceMessage(message, null);
checkFields(UTF16_RECIPIENT_TO + ", ",
- null, null, UTF16_SUBJECT, UTF16_BODY);
+ null, null, UTF16_SUBJECT, UTF16_BODY, null);
checkFocused(mMessageView);
}
});
@@ -352,7 +355,7 @@ public class MessageComposeInstrumentationTests
public void run() {
resetViews();
a.processSourceMessage(message, null);
- checkFields(UTF16_RECIPIENT_TO + ", ", null, null, null, UTF16_BODY);
+ checkFields(UTF16_RECIPIENT_TO + ", ", null, null, null, UTF16_BODY, null);
checkFocused(mSubjectView);
}
});
@@ -375,7 +378,7 @@ public class MessageComposeInstrumentationTests
public void run() {
a.processSourceMessage(message, null);
checkFields(UTF32_RECIPIENT_TO + ", ",
- null, null, UTF32_SUBJECT, UTF32_BODY);
+ null, null, UTF32_SUBJECT, UTF32_BODY, null);
checkFocused(mMessageView);
}
});
@@ -388,7 +391,7 @@ public class MessageComposeInstrumentationTests
public void run() {
resetViews();
a.processSourceMessage(message, null);
- checkFields(UTF32_RECIPIENT_TO + ", ", null, null, null, UTF32_BODY);
+ checkFields(UTF32_RECIPIENT_TO + ", ", null, null, null, UTF32_BODY, null);
checkFocused(mSubjectView);
}
});
@@ -555,7 +558,7 @@ public class MessageComposeInstrumentationTests
runTestOnUiThread(new Runnable() {
public void run() {
a.initFromIntent(i2);
- checkFields(RECIPIENT_TO + ", ", RECIPIENT_CC, RECIPIENT_BCC, SUBJECT, null);
+ checkFields(RECIPIENT_TO + ", ", RECIPIENT_CC, RECIPIENT_BCC, SUBJECT, null, null);
checkFocused(mMessageView);
}
});
@@ -579,7 +582,7 @@ public class MessageComposeInstrumentationTests
public void run() {
a.initFromIntent(i2);
checkFields(UTF16_RECIPIENT_TO + ", ",
- UTF16_RECIPIENT_CC, UTF16_RECIPIENT_BCC, UTF16_SUBJECT, null);
+ UTF16_RECIPIENT_CC, UTF16_RECIPIENT_BCC, UTF16_SUBJECT, null, null);
checkFocused(mMessageView);
}
});
@@ -603,7 +606,7 @@ public class MessageComposeInstrumentationTests
public void run() {
a.initFromIntent(i2);
checkFields(UTF32_RECIPIENT_TO + ", ",
- UTF32_RECIPIENT_CC, UTF32_RECIPIENT_BCC, UTF32_SUBJECT, null);
+ UTF32_RECIPIENT_CC, UTF32_RECIPIENT_BCC, UTF32_SUBJECT, null, null);
checkFocused(mMessageView);
}
});
@@ -625,7 +628,7 @@ public class MessageComposeInstrumentationTests
runTestOnUiThread(new Runnable() {
public void run() {
a.initFromIntent(i2);
- checkFields(null, null, null, null, BODY);
+ checkFields(null, null, null, null, BODY, null);
checkFocused(mToView);
}
});
@@ -649,7 +652,7 @@ public class MessageComposeInstrumentationTests
runTestOnUiThread(new Runnable() {
public void run() {
a.initFromIntent(i2);
- checkFields(RECIPIENT_TO + ", ", null, null, "This is the subject", null);
+ checkFields(RECIPIENT_TO + ", ", null, null, "This is the subject", null, null);
checkFocused(mMessageView);
}
});
@@ -670,8 +673,10 @@ public class MessageComposeInstrumentationTests
* @param bcc expected value (null = it must be empty)
* @param subject expected value (null = it must be empty)
* @param content expected value (null = it must be empty)
+ * @param signature expected value (null = it must be empty)
*/
- private void checkFields(String to, String cc, String bcc, String subject, String content) {
+ private void checkFields(String to, String cc, String bcc, String subject, String content,
+ String signature) {
String toText = mToView.getText().toString();
if (to == null) {
assertEquals(0, toText.length());
@@ -690,6 +695,13 @@ public class MessageComposeInstrumentationTests
if (content == null) {
assertEquals(0, contentText.length());
} else {
+ if (signature != null) {
+ int textLength = content.length();
+ if (textLength == 0 || content.charAt(textLength - 1) != '\n') {
+ content += "\n";
+ }
+ content += signature;
+ }
assertEquals(content, contentText);
}
}
@@ -782,6 +794,49 @@ public class MessageComposeInstrumentationTests
}
/**
+ * Check message and selection with/without signature.
+ */
+ public void testSetInitialComposeTextAndSelection() throws MessagingException, Throwable {
+ final Message msg = buildTestMessage(null, null, null, BODY);
+ final Intent intent = new Intent(ACTION_EDIT_DRAFT);
+ final Account account = new Account();
+ final MessageCompose a = getActivity();
+ a.setIntent(intent);
+
+ runTestOnUiThread(new Runnable() {
+ public void run() {
+ resetViews();
+ a.setInitialComposeText(BODY, SIGNATURE);
+ checkFields(null, null, null, null, BODY, SIGNATURE);
+ a.setMessageContentSelection(SIGNATURE);
+ assertEquals(BODY.length(), mMessageView.getSelectionStart());
+ }
+ });
+
+ runTestOnUiThread(new Runnable() {
+ public void run() {
+ resetViews();
+ a.setInitialComposeText(BODY, null);
+ checkFields(null, null, null, null, BODY, null);
+ a.setMessageContentSelection(null);
+ assertEquals(BODY.length(), mMessageView.getSelectionStart());
+ }
+ });
+
+ runTestOnUiThread(new Runnable() {
+ public void run() {
+ resetViews();
+ final String body2 = BODY + "\n\na\n\n";
+ a.setInitialComposeText(body2, SIGNATURE);
+ checkFields(null, null, null, null, body2, SIGNATURE);
+ a.setMessageContentSelection(SIGNATURE);
+ assertEquals(BODY.length() + 3, mMessageView.getSelectionStart());
+ }
+ });
+
+ }
+
+ /**
* Tests for the comma-inserting logic. The logic is applied equally to To: Cc: and Bcc:
* but we only run the full set on To:
*/