/** * Create new instance matching an element with given resourceId. * * @param resourceId Identifier for this element. * * @return New element instance for actions and assertions. * * @since Espresso Macchiato 0.1 */ public static EspView byId(int resourceId) { return new EspView(resourceId); }
@Test public void testAssertIsDisplayedOnScreenFailure() { givenViewOutsideOfScreen(android.R.id.text2); EspView.byId(android.R.id.text2).assertIsVisible(); exception.expect(AssertionFailedError.class); EspView.byId(android.R.id.text2).assertIsDisplayedOnScreen(); }
@Test public void testAssertIsHiddenWhenNotOnScreen() { givenClickableViewNotOnScreen(); espView.assertIsVisible(); espView.assertIsEnabled(); espView.assertIsHidden(); }
@Test public void testAssertions() { espTextView.assertNotExist(); givenClickableView(); espView.assertIsVisible(); espView.assertIsNotSelected(); espView.assertIsEnabled(); espView.assertIsDisplayedOnScreen(); givenViewIsDisabled(); espView.assertIsDisabled(); givenViewIsInvisible(); espView.assertIsHidden(); givenViewIsGone(); espView.assertIsHidden(); givenViewIsSelected(); espView.assertIsSelected(); }
@Test public void testByAll() { givenClickableView(); espView = EspView.byAll().withId(viewId).withIsDisplayed().build(); espView.assertIsDisplayedOnScreen(); }
@Test public void testAssertIsDisplayedOnScreenWhenViewLargerThanScreen() { givenViewLargerThanScreen(); espView.assertIsDisplayedOnScreen(); }
@Test public void testExtend() { givenClickableView(); givenClickFeedbackTextView(); MyEspView myEspView = new MyEspView(EspView.byId(viewId)); myEspView.click(); espTextView.assertTextIs(VIEW_WAS_CLICKED_MESSAGE); }
@Test public void testWithId() { View view = new View(context); view.setId(TEST_ID); addViewToLayout(view, BaseActivity.rootLayout); builder.withId(TEST_ID); builder.build().assertIsDisplayedOnScreen(); }
@Test public void testWithParentInHierarchy() { // hierarchy A ViewGroup viewGroupParentA = new LinearLayout(context); viewGroupParentA.setId(TEST_PARENT_ID); addViewToLayout(viewGroupParentA, BaseActivity.rootLayout); ViewGroup viewGroupMidA = new LinearLayout(context); viewGroupMidA.setId(TEST_MID_ID); addViewToLayout(viewGroupMidA, TEST_PARENT_ID); // hierarchy B ViewGroup viewGroupParentB = new LinearLayout(context); viewGroupParentB.setId(TEST_PARENT_ID + 1); addViewToLayout(viewGroupParentB, BaseActivity.rootLayout); ViewGroup viewGroupMidB = new LinearLayout(context); viewGroupMidB.setId(TEST_MID_ID + 1); addViewToLayout(viewGroupMidB, TEST_PARENT_ID + 1); // view with same id on both hierarchies View viewSameIdA = new View(context); View viewSameIdB = new View(context); viewSameIdA.setId(TEST_ID); viewSameIdB.setId(TEST_ID); addViewToLayout(viewSameIdA, TEST_MID_ID); addViewToLayout(viewSameIdB, TEST_MID_ID + 1); builder.withId(TEST_ID).withParentInHierarchy(TEST_PARENT_ID).build().assertIsDisplayedOnScreen(); }