Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Unified Diff: ui/android/junit/src/org/chromium/ui/base/ClipboardTest.java

Issue 2812933003: Support paste with style from Spanned (Closed)
Patch Set: add test Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/android/java/src/org/chromium/ui/base/Clipboard.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/android/junit/src/org/chromium/ui/base/ClipboardTest.java
diff --git a/ui/android/junit/src/org/chromium/ui/base/ClipboardTest.java b/ui/android/junit/src/org/chromium/ui/base/ClipboardTest.java
index a4bd96668dbe8fa699626bf578b8f64cbd693cf4..49bc9873b69a631df6f0bc4d41e4d57ba05820f5 100644
--- a/ui/android/junit/src/org/chromium/ui/base/ClipboardTest.java
+++ b/ui/android/junit/src/org/chromium/ui/base/ClipboardTest.java
@@ -4,7 +4,14 @@
package org.chromium.ui.base;
+import android.content.ClipData;
+import android.content.Intent;
+import android.text.SpannableString;
+import android.text.style.RelativeSizeSpan;
+
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import org.junit.AfterClass;
@@ -25,6 +32,9 @@ import org.chromium.testing.local.LocalRobolectricTestRunner;
@RunWith(LocalRobolectricTestRunner.class)
@Config(manifest = Config.NONE)
public class ClipboardTest {
+ private static final String PLAIN_TEXT = "plain";
+ private static final String HTML_TEXT = "<span style=\"color: red;\">HTML</span>";
+
@BeforeClass
public static void beforeClass() {
RecordHistogram.setDisabledForTests(true);
@@ -39,7 +49,7 @@ public class ClipboardTest {
@Test
public void testGetClipboardContentChangeTimeInMillis() {
- ContextUtils.initApplicationContext(RuntimeEnvironment.application);
+ ContextUtils.initApplicationContextForTests(RuntimeEnvironment.application);
// Upon launch, the clipboard should be at start of epoch, i.e., ancient.
Clipboard clipboard = Clipboard.getInstance();
assertEquals(0, clipboard.getClipboardContentChangeTimeInMillis());
@@ -47,4 +57,39 @@ public class ClipboardTest {
clipboard.onPrimaryClipChanged();
assertTrue(clipboard.getClipboardContentChangeTimeInMillis() > 0);
}
+
+ @Test
+ public void testGetHTMLTextAndGetCoercedText() {
+ ContextUtils.initApplicationContextForTests(RuntimeEnvironment.application);
+ Clipboard clipboard = Clipboard.getInstance();
+
+ // HTML text
+ ClipData html = ClipData.newHtmlText("html", PLAIN_TEXT, HTML_TEXT);
+ clipboard.setPrimaryClipNoException(html);
+ assertEquals(PLAIN_TEXT, clipboard.getCoercedText());
+ assertEquals(HTML_TEXT, clipboard.getHTMLText());
+
+ // Plain text without span
+ ClipData plainTextNoSpan = ClipData.newPlainText("plain", PLAIN_TEXT);
+ clipboard.setPrimaryClipNoException(plainTextNoSpan);
+ assertEquals(PLAIN_TEXT, clipboard.getCoercedText());
+ assertNull(clipboard.getHTMLText());
+
+ // Plain text with span
+ SpannableString spanned = new SpannableString(PLAIN_TEXT);
+ spanned.setSpan(new RelativeSizeSpan(2f), 0, 5, 0);
+ ClipData plainTextSpan = ClipData.newPlainText("plain", spanned);
+ clipboard.setPrimaryClipNoException(plainTextSpan);
+ assertEquals(PLAIN_TEXT, clipboard.getCoercedText());
+ assertNotNull(clipboard.getHTMLText());
+
+ // Intent
+ Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
+ intent.addCategory(Intent.CATEGORY_OPENABLE);
+ intent.setType("*/*");
+ ClipData intentClip = ClipData.newIntent("intent", intent);
+ clipboard.setPrimaryClipNoException(intentClip);
+ assertNotNull(clipboard.getCoercedText());
+ assertNull(clipboard.getHTMLText());
+ }
}
« no previous file with comments | « ui/android/java/src/org/chromium/ui/base/Clipboard.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698