Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c5b54bae authored by Abodunrinwa Toki's avatar Abodunrinwa Toki
Browse files

Make TextViewActivityTests MediumTests

Test: This is the test.
Change-Id: Ie048f5b4b5988df3dba1b7fd277342abd672987f
parent 22851dbc
Loading
Loading
Loading
Loading
+6 −34
Original line number Original line Diff line number Diff line
@@ -17,7 +17,6 @@
package android.widget;
package android.widget;


import static android.widget.espresso.CustomViewActions.longPressAtRelativeCoordinates;
import static android.widget.espresso.CustomViewActions.longPressAtRelativeCoordinates;
import static android.support.test.espresso.action.ViewActions.longClick;
import static android.widget.espresso.DragHandleUtils.assertNoSelectionHandles;
import static android.widget.espresso.DragHandleUtils.assertNoSelectionHandles;
import static android.widget.espresso.DragHandleUtils.onHandleView;
import static android.widget.espresso.DragHandleUtils.onHandleView;
import static android.widget.espresso.TextViewActions.clickOnTextAtIndex;
import static android.widget.espresso.TextViewActions.clickOnTextAtIndex;
@@ -37,6 +36,7 @@ import static android.widget.espresso.FloatingToolbarEspressoUtils.clickFloating
import static android.widget.espresso.FloatingToolbarEspressoUtils.sleepForFloatingToolbarPopup;
import static android.widget.espresso.FloatingToolbarEspressoUtils.sleepForFloatingToolbarPopup;
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.action.ViewActions.longClick;
import static android.support.test.espresso.action.ViewActions.pressKey;
import static android.support.test.espresso.action.ViewActions.pressKey;
import static android.support.test.espresso.action.ViewActions.replaceText;
import static android.support.test.espresso.action.ViewActions.replaceText;
import static android.support.test.espresso.action.ViewActions.typeTextIntoFocusedView;
import static android.support.test.espresso.action.ViewActions.typeTextIntoFocusedView;
@@ -44,24 +44,25 @@ import static android.support.test.espresso.assertion.ViewAssertions.matches;
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.withId;
import static android.support.test.espresso.matcher.ViewMatchers.withId;
import static android.support.test.espresso.matcher.ViewMatchers.withText;
import static android.support.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.Matchers.anyOf;
import static org.hamcrest.Matchers.is;


import android.widget.espresso.CustomViewActions.RelativeCoordinatesProvider;
import android.widget.espresso.CustomViewActions.RelativeCoordinatesProvider;
import com.android.frameworks.coretests.R;


import android.support.test.espresso.action.EspressoKey;
import android.support.test.espresso.action.EspressoKey;
import android.test.ActivityInstrumentationTestCase2;
import android.test.ActivityInstrumentationTestCase2;
import android.test.suitebuilder.annotation.SmallTest;
import android.test.suitebuilder.annotation.MediumTest;
import android.text.Selection;
import android.text.Selection;
import android.text.Spannable;
import android.text.Spannable;
import android.text.InputType;
import android.text.InputType;
import android.view.KeyEvent;
import android.view.KeyEvent;


import static org.hamcrest.Matchers.anyOf;
import com.android.frameworks.coretests.R;
import static org.hamcrest.Matchers.is;


/**
/**
 * Tests the TextView widget from an Activity
 * Tests the TextView widget from an Activity
 */
 */
@MediumTest
public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextViewActivity>{
public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextViewActivity>{


    public TextViewActivityTest() {
    public TextViewActivityTest() {
@@ -74,7 +75,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        getActivity();
        getActivity();
    }
    }


    @SmallTest
    public void testTypedTextIsOnScreen() throws Exception {
    public void testTypedTextIsOnScreen() throws Exception {
        final String helloWorld = "Hello world!";
        final String helloWorld = "Hello world!";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -83,7 +83,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(matches(withText(helloWorld)));
        onView(withId(R.id.textview)).check(matches(withText(helloWorld)));
    }
    }


    @SmallTest
    public void testPositionCursorAtTextAtIndex() throws Exception {
    public void testPositionCursorAtTextAtIndex() throws Exception {
        final String helloWorld = "Hello world!";
        final String helloWorld = "Hello world!";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -95,7 +94,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(matches(withText("Hello orld!")));
        onView(withId(R.id.textview)).check(matches(withText("Hello orld!")));
    }
    }


    @SmallTest
    public void testPositionCursorAtTextAtIndex_arabic() throws Exception {
    public void testPositionCursorAtTextAtIndex_arabic() throws Exception {
        // Arabic text. The expected cursorable boundary is
        // Arabic text. The expected cursorable boundary is
        // | \u0623 \u064F | \u067A | \u0633 \u0652 |
        // | \u0623 \u064F | \u067A | \u0633 \u0652 |
@@ -117,7 +115,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasInsertionPointerAtIndex(5));
        onView(withId(R.id.textview)).check(hasInsertionPointerAtIndex(5));
    }
    }


    @SmallTest
    public void testPositionCursorAtTextAtIndex_devanagari() throws Exception {
    public void testPositionCursorAtTextAtIndex_devanagari() throws Exception {
        // Devanagari text. The expected cursorable boundary is | \u0915 \u093E |
        // Devanagari text. The expected cursorable boundary is | \u0915 \u093E |
        final String text = "\u0915\u093E";
        final String text = "\u0915\u093E";
@@ -132,7 +129,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasInsertionPointerAtIndex(2));
        onView(withId(R.id.textview)).check(hasInsertionPointerAtIndex(2));
    }
    }


    @SmallTest
    public void testLongPressToSelect() throws Exception {
    public void testLongPressToSelect() throws Exception {
        final String helloWorld = "Hello Kirk!";
        final String helloWorld = "Hello Kirk!";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -143,7 +139,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasSelection("Kirk"));
        onView(withId(R.id.textview)).check(hasSelection("Kirk"));
    }
    }


    @SmallTest
    public void testLongPressEmptySpace() throws Exception {
    public void testLongPressEmptySpace() throws Exception {
        final String helloWorld = "Hello big round sun!";
        final String helloWorld = "Hello big round sun!";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -158,7 +153,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasInsertionPointerAtIndex(helloWorld.length()));
        onView(withId(R.id.textview)).check(hasInsertionPointerAtIndex(helloWorld.length()));
    }
    }


    @SmallTest
    public void testLongPressAndDragToSelect() throws Exception {
    public void testLongPressAndDragToSelect() throws Exception {
        final String helloWorld = "Hello little handsome boy!";
        final String helloWorld = "Hello little handsome boy!";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -169,7 +163,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasSelection("little handsome"));
        onView(withId(R.id.textview)).check(hasSelection("little handsome"));
    }
    }


    @SmallTest
    public void testLongPressAndDragToSelect_emoji() throws Exception {
    public void testLongPressAndDragToSelect_emoji() throws Exception {
        final String text = "\uD83D\uDE00\uD83D\uDE01\uD83D\uDE02\uD83D\uDE03";
        final String text = "\uD83D\uDE00\uD83D\uDE01\uD83D\uDE02\uD83D\uDE03";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -184,7 +177,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasSelection("\uD83D\uDE01"));
        onView(withId(R.id.textview)).check(hasSelection("\uD83D\uDE01"));
    }
    }


    @SmallTest
    public void testDragAndDrop() throws Exception {
    public void testDragAndDrop() throws Exception {
        final String text = "abc def ghi.";
        final String text = "abc def ghi.";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -206,7 +198,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(matches(withText(text)));
        onView(withId(R.id.textview)).check(matches(withText(text)));
    }
    }


    @SmallTest
    public void testDoubleTapToSelect() throws Exception {
    public void testDoubleTapToSelect() throws Exception {
        final String helloWorld = "Hello SuetYi!";
        final String helloWorld = "Hello SuetYi!";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -217,7 +208,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasSelection("SuetYi"));
        onView(withId(R.id.textview)).check(hasSelection("SuetYi"));
    }
    }


    @SmallTest
    public void testDoubleTapAndDragToSelect() throws Exception {
    public void testDoubleTapAndDragToSelect() throws Exception {
        final String helloWorld = "Hello young beautiful girl!";
        final String helloWorld = "Hello young beautiful girl!";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -228,7 +218,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasSelection("young beautiful"));
        onView(withId(R.id.textview)).check(hasSelection("young beautiful"));
    }
    }


    @SmallTest
    public void testDoubleTapAndDragToSelect_multiLine() throws Exception {
    public void testDoubleTapAndDragToSelect_multiLine() throws Exception {
        final String helloWorld = "abcd\n" + "efg\n" + "hijklm\n" + "nop";
        final String helloWorld = "abcd\n" + "efg\n" + "hijklm\n" + "nop";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -238,7 +227,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasSelection("abcd\nefg\nhijklm"));
        onView(withId(R.id.textview)).check(hasSelection("abcd\nefg\nhijklm"));
    }
    }


    @SmallTest
    public void testSelectBackwordsByTouch() throws Exception {
    public void testSelectBackwordsByTouch() throws Exception {
        final String helloWorld = "Hello king of the Jungle!";
        final String helloWorld = "Hello king of the Jungle!";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -249,7 +237,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasSelection("king of the"));
        onView(withId(R.id.textview)).check(hasSelection("king of the"));
    }
    }


    @SmallTest
    public void testToolbarAppearsAfterSelection() throws Exception {
    public void testToolbarAppearsAfterSelection() throws Exception {
        final String text = "Toolbar appears after selection.";
        final String text = "Toolbar appears after selection.";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -266,7 +253,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        assertFloatingToolbarIsNotDisplayed();
        assertFloatingToolbarIsNotDisplayed();
    }
    }


    @SmallTest
    public void testToolbarAppearsAfterSelection_withFirstStringLtrAlgorithmAndRtlHint()
    public void testToolbarAppearsAfterSelection_withFirstStringLtrAlgorithmAndRtlHint()
            throws Exception {
            throws Exception {
        // after the hint layout change, the floating toolbar was not visible in the case below
        // after the hint layout change, the floating toolbar was not visible in the case below
@@ -294,7 +280,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        assertFloatingToolbarIsDisplayed();
        assertFloatingToolbarIsDisplayed();
    }
    }


    @SmallTest
    public void testToolbarAndInsertionHandle() throws Exception {
    public void testToolbarAndInsertionHandle() throws Exception {
        final String text = "text";
        final String text = "text";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -314,7 +299,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
                getActivity().getString(com.android.internal.R.string.cut));
                getActivity().getString(com.android.internal.R.string.cut));
    }
    }


    @SmallTest
    public void testToolbarAndSelectionHandle() throws Exception {
    public void testToolbarAndSelectionHandle() throws Exception {
        final String text = "abcd efg hijk";
        final String text = "abcd efg hijk";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -350,7 +334,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
                getActivity().getString(com.android.internal.R.string.cut));
                getActivity().getString(com.android.internal.R.string.cut));
    }
    }


    @SmallTest
    public void testInsertionHandle() throws Exception {
    public void testInsertionHandle() throws Exception {
        final String text = "abcd efg hijk ";
        final String text = "abcd efg hijk ";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -370,7 +353,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasInsertionPointerAtIndex(text.indexOf("f")));
        onView(withId(R.id.textview)).check(hasInsertionPointerAtIndex(text.indexOf("f")));
    }
    }


    @SmallTest
    public void testInsertionHandle_multiLine() throws Exception {
    public void testInsertionHandle_multiLine() throws Exception {
        final String text = "abcd\n" + "efg\n" + "hijk\n";
        final String text = "abcd\n" + "efg\n" + "hijk\n";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -390,7 +372,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasInsertionPointerAtIndex(text.indexOf("f")));
        onView(withId(R.id.textview)).check(hasInsertionPointerAtIndex(text.indexOf("f")));
    }
    }


    @SmallTest
    public void testSelectionHandles() throws Exception {
    public void testSelectionHandles() throws Exception {
        final String text = "abcd efg hijk lmn";
        final String text = "abcd efg hijk lmn";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -415,7 +396,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasSelection("abcd efg hijk"));
        onView(withId(R.id.textview)).check(hasSelection("abcd efg hijk"));
    }
    }


    @SmallTest
    public void testSelectionHandles_bidi() throws Exception {
    public void testSelectionHandles_bidi() throws Exception {
        final String text = "abc \u0621\u0622\u0623 def";
        final String text = "abc \u0621\u0622\u0623 def";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -460,7 +440,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasSelection("abc \u0621\u0622\u0623 def"));
        onView(withId(R.id.textview)).check(hasSelection("abc \u0621\u0622\u0623 def"));
    }
    }


    @SmallTest
    public void testSelectionHandles_multiLine() throws Exception {
    public void testSelectionHandles_multiLine() throws Exception {
        final String text = "abcd\n" + "efg\n" + "hijk\n" + "lmn\n" + "opqr";
        final String text = "abcd\n" + "efg\n" + "hijk\n" + "lmn\n" + "opqr";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -485,7 +464,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasSelection("abcd\nefg\nhijk\nlmn\nopqr"));
        onView(withId(R.id.textview)).check(hasSelection("abcd\nefg\nhijk\nlmn\nopqr"));
    }
    }


    @SmallTest
    public void testSelectionHandles_multiLine_rtl() throws Exception {
    public void testSelectionHandles_multiLine_rtl() throws Exception {
        // Arabic text.
        // Arabic text.
        final String text = "\u062A\u062B\u062C\n" + "\u062D\u062E\u062F\n"
        final String text = "\u062A\u062B\u062C\n" + "\u062D\u062E\u062F\n"
@@ -518,7 +496,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
    }
    }




    @SmallTest
    public void testSelectionHandles_doesNotPassAnotherHandle() throws Exception {
    public void testSelectionHandles_doesNotPassAnotherHandle() throws Exception {
        final String text = "abcd efg hijk lmn";
        final String text = "abcd efg hijk lmn";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -536,7 +513,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasSelection("e"));
        onView(withId(R.id.textview)).check(hasSelection("e"));
    }
    }


    @SmallTest
    public void testSelectionHandles_doesNotPassAnotherHandle_multiLine() throws Exception {
    public void testSelectionHandles_doesNotPassAnotherHandle_multiLine() throws Exception {
        final String text = "abcd\n" + "efg\n" + "hijk\n" + "lmn\n" + "opqr";
        final String text = "abcd\n" + "efg\n" + "hijk\n" + "lmn\n" + "opqr";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -554,7 +530,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasSelection("h"));
        onView(withId(R.id.textview)).check(hasSelection("h"));
    }
    }


    @SmallTest
    public void testSelectionHandles_snapToWordBoundary() throws Exception {
    public void testSelectionHandles_snapToWordBoundary() throws Exception {
        final String text = "abcd efg hijk lmn opqr";
        final String text = "abcd efg hijk lmn opqr";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -607,7 +582,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasSelection("hijk lmn opq"));
        onView(withId(R.id.textview)).check(hasSelection("hijk lmn opq"));
    }
    }


    @SmallTest
    public void testSelectionHandles_snapToWordBoundary_multiLine() throws Exception {
    public void testSelectionHandles_snapToWordBoundary_multiLine() throws Exception {
        final String text = "abcd efg\n" + "hijk lmn\n" + "opqr stu";
        final String text = "abcd efg\n" + "hijk lmn\n" + "opqr stu";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -643,7 +617,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
        onView(withId(R.id.textview)).check(hasSelection("hijk"));
        onView(withId(R.id.textview)).check(hasSelection("hijk"));
    }
    }


    @SmallTest
    public void testSetSelectionAndActionMode() throws Exception {
    public void testSetSelectionAndActionMode() throws Exception {
        final String text = "abc def";
        final String text = "abc def";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());
@@ -707,7 +680,6 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2<TextV
                getActivity().getString(com.android.internal.R.string.copy));
                getActivity().getString(com.android.internal.R.string.copy));
    }
    }


    @SmallTest
    public void testTransientState() throws Exception {
    public void testTransientState() throws Exception {
        final String text = "abc def";
        final String text = "abc def";
        onView(withId(R.id.textview)).perform(click());
        onView(withId(R.id.textview)).perform(click());