Commit 04912389 authored by ajith.v's avatar ajith.v Committed by Commit bot

Add text selection ActionBar tests

Currently there is insufficient coverage for text selection ActionBar
menu interaction. Add several basic tests covering such functionality.

Review URL: https://codereview.chromium.org/538103003

Cr-Commit-Position: refs/heads/master@{#301408}
parent ccf0a3a1
...@@ -22,19 +22,20 @@ import org.chromium.content_shell_apk.ContentShellTestBase; ...@@ -22,19 +22,20 @@ import org.chromium.content_shell_apk.ContentShellTestBase;
*/ */
public class ContentViewCoreSelectionTest extends ContentShellTestBase { public class ContentViewCoreSelectionTest extends ContentShellTestBase {
private static final String DATA_URL = UrlUtils.encodeHtmlDataUri( private static final String DATA_URL = UrlUtils.encodeHtmlDataUri(
"<html><head><meta name=\"viewport\"" + "<html><head><meta name=\"viewport\""
"content=\"width=device-width, initial-scale=1.1, maximum-scale=1.5\" /></head>" + + "content=\"width=device-width, initial-scale=1.1, maximum-scale=1.5\" /></head>"
"<body><form action=\"about:blank\">" + + "<body><form action=\"about:blank\">"
"<input id=\"empty_input_text\" type=\"text\" />" + + "<input id=\"empty_input_text\" type=\"text\" />"
"<br/><p><span id=\"plain_text_1\">This is Plain Text One</span></p>" + + "<br/><p><span id=\"plain_text_1\">This is Plain Text One</span></p>"
"<br/><p><span id=\"plain_text_2\">This is Plain Text Two</span></p>" + + "<br/><p><span id=\"plain_text_2\">This is Plain Text Two</span></p>"
"<br/><input id=\"empty_input_text\" type=\"text\" />" + + "<br/><input id=\"empty_input_text\" type=\"text\" />"
"<br/><input id=\"input_text\" type=\"text\" value=\"Sample Text\" />" + + "<br/><input id=\"input_text\" type=\"text\" value=\"Sample Text\" />"
"<br/><textarea id=\"empty_textarea\" rows=\"2\" cols=\"20\"></textarea>" + + "<br/><textarea id=\"empty_textarea\" rows=\"2\" cols=\"20\"></textarea>"
"<br/><textarea id=\"textarea\" rows=\"2\" cols=\"20\">Sample Text</textarea>" + + "<br/><textarea id=\"textarea\" rows=\"2\" cols=\"20\">Sample Text</textarea>"
"<br/><input id=\"readonly_text\" type=\"text\" readonly value=\"Sample Text\"/>" + + "<br/><input id=\"readonly_text\" type=\"text\" readonly value=\"Sample Text\"/>"
"<br/><input id=\"disabled_text\" type=\"text\" disabled value=\"Sample Text\" />" + + "<br/><input id=\"disabled_text\" type=\"text\" disabled value=\"Sample Text\" />"
"</form></body></html>"); + "<br/><input id=\"input_password\" type=\"password\" value=\"Sample Password\" />"
+ "</form></body></html>");
private ContentViewCore mContentViewCore; private ContentViewCore mContentViewCore;
...@@ -199,6 +200,28 @@ public class ContentViewCoreSelectionTest extends ContentShellTestBase { ...@@ -199,6 +200,28 @@ public class ContentViewCoreSelectionTest extends ContentShellTestBase {
assertFalse(mContentViewCore.hasInsertion()); assertFalse(mContentViewCore.hasInsertion());
} }
@SmallTest
@Feature({"TextInput"})
public void testActionBarConfiguredCorrectlyForInput() throws Throwable {
DOMUtils.longPressNode(this, mContentViewCore, "input_text");
assertWaitForSelectActionBarVisible(true);
assertTrue(mContentViewCore.hasSelection());
assertNotNull(mContentViewCore.getSelectActionHandler());
assertTrue(mContentViewCore.getSelectActionHandler().isSelectionEditable());
assertFalse(mContentViewCore.getSelectActionHandler().isSelectionPassword());
}
@SmallTest
@Feature({"TextInput"})
public void testActionBarConfiguredCorrectlyForPassword() throws Throwable {
DOMUtils.longPressNode(this, mContentViewCore, "input_password");
assertWaitForSelectActionBarVisible(true);
assertTrue(mContentViewCore.hasSelection());
assertNotNull(mContentViewCore.getSelectActionHandler());
assertTrue(mContentViewCore.getSelectActionHandler().isSelectionEditable());
assertTrue(mContentViewCore.getSelectActionHandler().isSelectionPassword());
}
private void assertWaitForSelectActionBarVisible( private void assertWaitForSelectActionBarVisible(
final boolean visible) throws InterruptedException { final boolean visible) throws InterruptedException {
assertTrue(CriteriaHelper.pollForCriteria(new Criteria() { assertTrue(CriteriaHelper.pollForCriteria(new Criteria() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment