summaryrefslogtreecommitdiffstats
path: root/core/tests
diff options
context:
space:
mode:
authorClara Bayarri <clarabayarri@google.com>2015-05-19 10:42:17 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-05-19 10:42:20 +0000
commite94561ecbcb7f6df2446b811de9ad5cfaff29d99 (patch)
tree0adada166e2e2e7dbd1953fb6ed3e189ff991447 /core/tests
parentaba6cccd40e0393d7bcff7f6edb5ca8cfdd4c7b1 (diff)
parent5b7665a1f2403a03c1f9baf73a4aa8f5a66b1352 (diff)
downloadframeworks_base-e94561ecbcb7f6df2446b811de9ad5cfaff29d99.zip
frameworks_base-e94561ecbcb7f6df2446b811de9ad5cfaff29d99.tar.gz
frameworks_base-e94561ecbcb7f6df2446b811de9ad5cfaff29d99.tar.bz2
Merge "Fix Cancelling a text action activity deletes the selected text" into mnc-dev
Diffstat (limited to 'core/tests')
-rw-r--r--core/tests/coretests/src/android/widget/TextViewTest.java66
1 files changed, 66 insertions, 0 deletions
diff --git a/core/tests/coretests/src/android/widget/TextViewTest.java b/core/tests/coretests/src/android/widget/TextViewTest.java
index af6df1a..0b94f8b 100644
--- a/core/tests/coretests/src/android/widget/TextViewTest.java
+++ b/core/tests/coretests/src/android/widget/TextViewTest.java
@@ -16,9 +16,13 @@
package android.widget;
+import android.app.Activity;
+import android.content.Intent;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
import android.text.GetChars;
+import android.text.Selection;
+import android.text.Spannable;
/**
* TextViewTest tests {@link TextView}.
@@ -54,4 +58,66 @@ public class TextViewTest extends AndroidTestCase {
assertEquals('o', c2[4]);
assertEquals('\0', c2[5]);
}
+
+ public void testProcessTextActivityResultNonEditable() {
+ TextView tv = new TextView(mContext);
+ CharSequence originalText = "This is some text.";
+ tv.setText(originalText, TextView.BufferType.SPANNABLE);
+ assertEquals(originalText, tv.getText().toString());
+ tv.setTextIsSelectable(true);
+ Selection.setSelection((Spannable) tv.getText(), 0, tv.getText().length());
+
+ CharSequence newText = "Text is replaced.";
+ Intent data = new Intent();
+ data.putExtra(Intent.EXTRA_PROCESS_TEXT, newText);
+ tv.onActivityResult(TextView.PROCESS_TEXT_REQUEST_CODE, Activity.RESULT_OK, data);
+
+ // This is a TextView, which can't be modified. Hence no change should have been made.
+ assertEquals(originalText, tv.getText().toString());
+ }
+
+ public void testProcessTextActivityResultEditable() {
+ EditText tv = new EditText(mContext);
+ CharSequence originalText = "This is some text.";
+ tv.setText(originalText, TextView.BufferType.SPANNABLE);
+ assertEquals(originalText, tv.getText().toString());
+ tv.setTextIsSelectable(true);
+ Selection.setSelection(tv.getText(), 0, tv.getText().length());
+
+ CharSequence newText = "Text is replaced.";
+ Intent data = new Intent();
+ data.putExtra(Intent.EXTRA_PROCESS_TEXT, newText);
+ tv.onActivityResult(TextView.PROCESS_TEXT_REQUEST_CODE, Activity.RESULT_OK, data);
+
+ assertEquals(newText, tv.getText().toString());
+ }
+
+ public void testProcessTextActivityResultCancel() {
+ EditText tv = new EditText(mContext);
+ CharSequence originalText = "This is some text.";
+ tv.setText(originalText, TextView.BufferType.SPANNABLE);
+ assertEquals(originalText, tv.getText().toString());
+ tv.setTextIsSelectable(true);
+ Selection.setSelection(tv.getText(), 0, tv.getText().length());
+
+ CharSequence newText = "Text is replaced.";
+ Intent data = new Intent();
+ data.putExtra(Intent.EXTRA_PROCESS_TEXT, newText);
+ tv.onActivityResult(TextView.PROCESS_TEXT_REQUEST_CODE, Activity.RESULT_CANCELED, data);
+
+ assertEquals(originalText, tv.getText().toString());
+ }
+
+ public void testProcessTextActivityNoData() {
+ EditText tv = new EditText(mContext);
+ CharSequence originalText = "This is some text.";
+ tv.setText(originalText, TextView.BufferType.SPANNABLE);
+ assertEquals(originalText, tv.getText().toString());
+ tv.setTextIsSelectable(true);
+ Selection.setSelection(tv.getText(), 0, tv.getText().length());
+
+ tv.onActivityResult(TextView.PROCESS_TEXT_REQUEST_CODE, Activity.RESULT_OK, null);
+
+ assertEquals(originalText, tv.getText().toString());
+ }
}