package com.google.android.apps.common.testing.ui.espresso.action;
import static com.google.android.apps.common.testing.ui.espresso.Espresso.onView;
import static com.google.android.apps.common.testing.ui.espresso.action.ViewActions.scrollTo;
import static com.google.android.apps.common.testing.ui.espresso.assertion.ViewAssertions.matches;
import static com.google.android.apps.common.testing.ui.espresso.matcher.ViewMatchers.isDisplayed;
import static com.google.android.apps.common.testing.ui.espresso.matcher.ViewMatchers.withId;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.not;
import com.google.android.apps.common.testing.ui.testapp.R;
import com.google.android.apps.common.testing.ui.testapp.ScrollActivity;
import android.test.ActivityInstrumentationTestCase2;
import android.test.suitebuilder.annotation.LargeTest;
/**
* Tests for ScrollToAction.
*/
@LargeTest
public class ScrollToActionIntegrationTest extends ActivityInstrumentationTestCase2<ScrollActivity>
{
@SuppressWarnings("deprecation")
public ScrollToActionIntegrationTest() {
// Keep froyo happy.
super("com.google.android.apps.common.testing.ui.testapp", ScrollActivity.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
getActivity();
}
public void testScrollDown() {
onView(withId(is(R.id.bottom_left)))
.check(matches(not(isDisplayed())))
.perform(scrollTo())
.check(matches(isDisplayed()))
.perform(scrollTo()); // Should be a noop.
}
public void testScrollVerticalAndHorizontal() {
onView(withId(is(R.id.bottom_right)))
.check(matches(not(isDisplayed())))
.perform(scrollTo())
.check(matches(isDisplayed()));
onView(withId(is(R.id.top_left)))
.check(matches(not(isDisplayed())))
.perform(scrollTo())
.check(matches(isDisplayed()));
}
public void testScrollWithinScroll() {
onView(withId(is(R.id.double_scroll)))
.check(matches(not(isDisplayed())))
.perform(scrollTo())
.check(matches(isDisplayed()));
}
}