Fixed tests
This commit is contained in:
parent
5ad7228b4e
commit
11536361c5
@ -32,7 +32,9 @@ import java.util.concurrent.TimeoutException;
|
|||||||
import static androidx.test.espresso.Espresso.onView;
|
import static androidx.test.espresso.Espresso.onView;
|
||||||
import static androidx.test.espresso.action.ViewActions.click;
|
import static androidx.test.espresso.action.ViewActions.click;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.hasDescendant;
|
import static androidx.test.espresso.matcher.ViewMatchers.hasDescendant;
|
||||||
|
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.isRoot;
|
import static androidx.test.espresso.matcher.ViewMatchers.isRoot;
|
||||||
|
import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.withId;
|
import static androidx.test.espresso.matcher.ViewMatchers.withId;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.withText;
|
import static androidx.test.espresso.matcher.ViewMatchers.withText;
|
||||||
import static org.hamcrest.Matchers.allOf;
|
import static org.hamcrest.Matchers.allOf;
|
||||||
@ -193,4 +195,8 @@ public class EspressoTestUtils {
|
|||||||
}
|
}
|
||||||
androidx.test.platform.app.InstrumentationRegistry.getInstrumentation().waitForIdleSync();
|
androidx.test.platform.app.InstrumentationRegistry.getInstrumentation().waitForIdleSync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Matcher<View> actionBarOverflow() {
|
||||||
|
return allOf(isDisplayed(), withContentDescription("More options"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package de.test.antennapod.ui;
|
package de.test.antennapod.ui;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.view.View;
|
||||||
import androidx.test.espresso.Espresso;
|
import androidx.test.espresso.Espresso;
|
||||||
import androidx.test.espresso.intent.rule.IntentsTestRule;
|
import androidx.test.espresso.intent.rule.IntentsTestRule;
|
||||||
import androidx.test.runner.AndroidJUnit4;
|
import androidx.test.runner.AndroidJUnit4;
|
||||||
@ -8,6 +9,7 @@ import de.danoeh.antennapod.R;
|
|||||||
import de.danoeh.antennapod.activity.MainActivity;
|
import de.danoeh.antennapod.activity.MainActivity;
|
||||||
import de.danoeh.antennapod.fragment.QueueFragment;
|
import de.danoeh.antennapod.fragment.QueueFragment;
|
||||||
import de.test.antennapod.EspressoTestUtils;
|
import de.test.antennapod.EspressoTestUtils;
|
||||||
|
import org.hamcrest.Matcher;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Rule;
|
import org.junit.Rule;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@ -18,6 +20,7 @@ import static androidx.test.espresso.action.ViewActions.click;
|
|||||||
import static androidx.test.espresso.matcher.ViewMatchers.withClassName;
|
import static androidx.test.espresso.matcher.ViewMatchers.withClassName;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
|
import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.withText;
|
import static androidx.test.espresso.matcher.ViewMatchers.withText;
|
||||||
|
import static de.test.antennapod.NthMatcher.first;
|
||||||
import static org.hamcrest.CoreMatchers.allOf;
|
import static org.hamcrest.CoreMatchers.allOf;
|
||||||
import static org.hamcrest.CoreMatchers.endsWith;
|
import static org.hamcrest.CoreMatchers.endsWith;
|
||||||
|
|
||||||
@ -48,14 +51,14 @@ public class QueueFragmentTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSortEmptyQueue() {
|
public void testSortEmptyQueue() {
|
||||||
Espresso.openContextualActionModeOverflowMenu();
|
onView(first(EspressoTestUtils.actionBarOverflow())).perform(click());
|
||||||
onView(withText(R.string.sort)).perform(click());
|
onView(withText(R.string.sort)).perform(click());
|
||||||
onView(withText(R.string.random)).perform(click());
|
onView(withText(R.string.random)).perform(click());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testKeepEmptyQueueSorted() {
|
public void testKeepEmptyQueueSorted() {
|
||||||
Espresso.openContextualActionModeOverflowMenu();
|
onView(first(EspressoTestUtils.actionBarOverflow())).perform(click());
|
||||||
onView(withText(R.string.sort)).perform(click());
|
onView(withText(R.string.sort)).perform(click());
|
||||||
onView(withText(R.string.keep_sorted)).perform(click());
|
onView(withText(R.string.keep_sorted)).perform(click());
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@ import android.content.Context;
|
|||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
|
||||||
import androidx.core.view.ViewCompat;
|
import androidx.core.view.ViewCompat;
|
||||||
import androidx.viewpager.widget.ViewPager;
|
import androidx.viewpager.widget.ViewPager;
|
||||||
|
|
||||||
@ -12,7 +11,7 @@ import java.lang.ref.WeakReference;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Override {@link #findScrollingChild(View)} to support {@link ViewPager}'s nested scrolling.
|
* Override {@link #findScrollingChild(View)} to support {@link ViewPager}'s nested scrolling.
|
||||||
* By the way, In order to override package level method and field.
|
* In order to override package level method and field.
|
||||||
* This class put in the same package path where {@link BottomSheetBehavior} located.
|
* This class put in the same package path where {@link BottomSheetBehavior} located.
|
||||||
* Source: https://medium.com/@hanru.yeh/funny-solution-that-makes-bottomsheetdialog-support-viewpager-with-nestedscrollingchilds-bfdca72235c3
|
* Source: https://medium.com/@hanru.yeh/funny-solution-that-makes-bottomsheetdialog-support-viewpager-with-nestedscrollingchilds-bfdca72235c3
|
||||||
*/
|
*/
|
||||||
@ -52,24 +51,4 @@ public class ViewPagerBottomSheetBehavior<V extends View> extends BottomSheetBeh
|
|||||||
final View scrollingChild = findScrollingChild(viewRef.get());
|
final View scrollingChild = findScrollingChild(viewRef.get());
|
||||||
nestedScrollingChildRef = new WeakReference<>(scrollingChild);
|
nestedScrollingChildRef = new WeakReference<>(scrollingChild);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* A utility function to get the {@link ViewPagerBottomSheetBehavior} associated with the {@code view}.
|
|
||||||
*
|
|
||||||
* @param view The {@link View} with {@link ViewPagerBottomSheetBehavior}.
|
|
||||||
* @return The {@link ViewPagerBottomSheetBehavior} associated with the {@code view}.
|
|
||||||
*/
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
public static <V extends View> ViewPagerBottomSheetBehavior<V> from(V view) {
|
|
||||||
ViewGroup.LayoutParams params = view.getLayoutParams();
|
|
||||||
if (!(params instanceof CoordinatorLayout.LayoutParams)) {
|
|
||||||
throw new IllegalArgumentException("The view is not a child of CoordinatorLayout");
|
|
||||||
}
|
|
||||||
CoordinatorLayout.Behavior behavior = ((CoordinatorLayout.LayoutParams) params).getBehavior();
|
|
||||||
if (!(behavior instanceof ViewPagerBottomSheetBehavior)) {
|
|
||||||
throw new IllegalArgumentException(
|
|
||||||
"The view is not associated with ViewPagerBottomSheetBehavior");
|
|
||||||
}
|
|
||||||
return (ViewPagerBottomSheetBehavior<V>) behavior;
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -333,9 +333,11 @@ public class AudioPlayerFragment extends Fragment implements
|
|||||||
updatePlaybackSpeedButton();
|
updatePlaybackSpeedButton();
|
||||||
setupOptionsMenu();
|
setupOptionsMenu();
|
||||||
|
|
||||||
List<Chapter> chapters = controller.getMedia().getChapters();
|
if (controller.getMedia() != null) {
|
||||||
boolean hasChapters = chapters != null && !chapters.isEmpty();
|
List<Chapter> chapters = controller.getMedia().getChapters();
|
||||||
pageIndicator.setDisabledPage(hasChapters ? -1 : 2);
|
boolean hasChapters = chapters != null && !chapters.isEmpty();
|
||||||
|
pageIndicator.setDisabledPage(hasChapters ? -1 : 2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user