mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-08-03 18:56:44 -04:00
Fixed a hard to find quirk where the tests ran on devices that don't
have a hardware menu key, but failed on those that did. Espresso contains two similar calls to launch the menu. Either are OK on devices that don't have a menu key (the vast majority of devices) so this bug was latent until I tested on a wider mix of devices. See https://developer.android.com/training/testing/espresso/recipes.html#matching-view-inside-action-bar and keep reading until you reach the example for "contextual action bar". See also https://github.com/kiwix/kiwix-android/issues/213 for the historical context where this problem was initially exposed. It took working with Isaac in person for us to discover the cause.
This commit is contained in:
parent
45d9e2a730
commit
8629e78511
@ -20,12 +20,9 @@ import org.kiwix.kiwixmobile.utils.SplashActivity;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import static android.support.test.InstrumentationRegistry.getInstrumentation;
|
||||
import static android.support.test.espresso.Espresso.onData;
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
import static android.support.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu;
|
||||
import static android.support.test.espresso.Espresso.openContextualActionModeOverflowMenu;
|
||||
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.scrollTo;
|
||||
@ -105,7 +102,7 @@ public class DownloadTest {
|
||||
|
||||
onData(withContent("ray_charles")).inAdapterView(withId(R.id.zimfilelist)).perform(click());
|
||||
|
||||
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
|
||||
openContextualActionModeOverflowMenu();
|
||||
|
||||
onView(withText("Get Content"))
|
||||
.perform(click());
|
||||
|
@ -40,7 +40,7 @@ import okio.Buffer;
|
||||
|
||||
import static android.support.test.InstrumentationRegistry.getInstrumentation;
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
import static android.support.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu;
|
||||
import static android.support.test.espresso.Espresso.openContextualActionModeOverflowMenu;
|
||||
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.scrollTo;
|
||||
@ -143,7 +143,7 @@ public class NetworkTest {
|
||||
isDisplayed()));
|
||||
linearLayout2.perform(click());
|
||||
|
||||
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
|
||||
openContextualActionModeOverflowMenu();
|
||||
|
||||
onView(withText(R.string.menu_zim_manager))
|
||||
.perform(click());
|
||||
|
@ -37,7 +37,7 @@ import javax.inject.Inject;
|
||||
|
||||
import static android.support.test.InstrumentationRegistry.getInstrumentation;
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
import static android.support.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu;
|
||||
import static android.support.test.espresso.Espresso.openContextualActionModeOverflowMenu;
|
||||
import static android.support.test.espresso.action.ViewActions.click;
|
||||
import static android.support.test.espresso.assertion.ViewAssertions.matches;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||
@ -84,7 +84,7 @@ public class ZimTest {
|
||||
|
||||
mActivityTestRule.launchActivity(intent);
|
||||
|
||||
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
|
||||
openContextualActionModeOverflowMenu();
|
||||
|
||||
onView(withText("Home"))
|
||||
.perform(click());
|
||||
@ -139,7 +139,7 @@ public class ZimTest {
|
||||
isDisplayed()));
|
||||
textView4.check(matches(withText("Covers")));
|
||||
|
||||
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
|
||||
openContextualActionModeOverflowMenu();
|
||||
|
||||
onView(withText("Help"))
|
||||
.perform(click());
|
||||
|
@ -1,8 +1,7 @@
|
||||
package org.kiwix.kiwixmobile.utils;
|
||||
|
||||
import static android.support.test.InstrumentationRegistry.getInstrumentation;
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
import static android.support.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu;
|
||||
import static android.support.test.espresso.Espresso.openContextualActionModeOverflowMenu;
|
||||
import static android.support.test.espresso.action.ViewActions.click;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withText;
|
||||
|
||||
@ -13,7 +12,7 @@ import static android.support.test.espresso.matcher.ViewMatchers.withText;
|
||||
public class StandardActions {
|
||||
|
||||
public static void enterHelp() {
|
||||
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
|
||||
openContextualActionModeOverflowMenu();
|
||||
|
||||
onView(withText("Help"))
|
||||
.perform(click());
|
||||
|
Loading…
x
Reference in New Issue
Block a user