diff options
author | Martin Fietz <martin.fietz@gmail.com> | 2017-10-17 22:55:30 +0200 |
---|---|---|
committer | Martin Fietz <martin.fietz@gmail.com> | 2017-10-17 22:55:30 +0200 |
commit | e884e989c781a2527b737ff30f0fcadd23e791f5 (patch) | |
tree | 0bcfc92171c2b52be85e9d38641fde3b8662aee4 /app/src/androidTest/java/de | |
parent | b47dc10b2a4ef46bf5e61dcd0c4640265b033721 (diff) | |
parent | 014e34e912cfcd9fae84643a8ab2a61872c18559 (diff) | |
download | AntennaPod-e884e989c781a2527b737ff30f0fcadd23e791f5.zip |
Merge branch 'develop'
Diffstat (limited to 'app/src/androidTest/java/de')
8 files changed, 165 insertions, 560 deletions
diff --git a/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java b/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java index 6f8dbcb1a..9ac92c2f9 100644 --- a/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java +++ b/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java @@ -1,6 +1,8 @@ package de.test.antennapod.service.playback; import android.content.Context; +import android.support.annotation.NonNull; +import android.support.annotation.StringRes; import android.test.InstrumentationTestCase; import junit.framework.AssertionFailedError; @@ -20,6 +22,7 @@ import de.danoeh.antennapod.core.feed.Feed; import de.danoeh.antennapod.core.feed.FeedItem; import de.danoeh.antennapod.core.feed.FeedMedia; import de.danoeh.antennapod.core.feed.FeedPreferences; +import de.danoeh.antennapod.core.feed.MediaType; import de.danoeh.antennapod.core.service.playback.PlaybackServiceMediaPlayer; import de.danoeh.antennapod.core.service.playback.LocalPSMP; import de.danoeh.antennapod.core.service.playback.PlayerStatus; @@ -112,7 +115,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { public void testInit() { final Context c = getInstrumentation().getTargetContext(); - PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, defaultCallback); + PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, new DefaultPSMPCallback()); psmp.shutdown(); } @@ -138,7 +141,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { public void testPlayMediaObjectStreamNoStartNoPrepare() throws InterruptedException { final Context c = getInstrumentation().getTargetContext(); final CountDownLatch countDownLatch = new CountDownLatch(2); - PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { + PlaybackServiceMediaPlayer.PSMPCallback callback = new DefaultPSMPCallback() { @Override public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { @@ -159,47 +162,6 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { assertionError = e; } } - - @Override - public void shouldStop() { - - } - - @Override - public void playbackSpeedChanged(float s) { - - } - - @Override - public void setSpeedAbilityChanged() { - - } - - @Override - public void onMediaChanged(boolean reloadUI) { - - } - - @Override - public void onBufferingUpdate(int percent) { - - } - - @Override - public boolean onMediaPlayerInfo(int code, int resourceId) { - return false; - } - - @Override - public boolean onMediaPlayerError(Object inObj, int what, int extra) { - return false; - } - - @Override - public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { - return false; - } - }; PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, null); @@ -217,7 +179,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { public void testPlayMediaObjectStreamStartNoPrepare() throws InterruptedException { final Context c = getInstrumentation().getTargetContext(); final CountDownLatch countDownLatch = new CountDownLatch(2); - PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { + PlaybackServiceMediaPlayer.PSMPCallback callback = new DefaultPSMPCallback() { @Override public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { @@ -238,46 +200,6 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { assertionError = e; } } - - @Override - public void shouldStop() { - - } - - @Override - public void playbackSpeedChanged(float s) { - - } - - @Override - public void setSpeedAbilityChanged() { - - } - - @Override - public void onMediaChanged(boolean reloadUI) { - - } - - @Override - public void onBufferingUpdate(int percent) { - - } - - @Override - public boolean onMediaPlayerInfo(int code, int resourceId) { - return false; - } - - @Override - public boolean onMediaPlayerError(Object inObj, int what, int extra) { - return false; - } - - @Override - public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { - return false; - } }; PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, null); @@ -296,7 +218,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { public void testPlayMediaObjectStreamNoStartPrepare() throws InterruptedException { final Context c = getInstrumentation().getTargetContext(); final CountDownLatch countDownLatch = new CountDownLatch(4); - PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { + PlaybackServiceMediaPlayer.PSMPCallback callback = new DefaultPSMPCallback() { @Override public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { @@ -320,46 +242,6 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { assertionError = e; } } - - @Override - public void shouldStop() { - - } - - @Override - public void playbackSpeedChanged(float s) { - - } - - @Override - public void setSpeedAbilityChanged() { - - } - - @Override - public void onMediaChanged(boolean reloadUI) { - - } - - @Override - public void onBufferingUpdate(int percent) { - - } - - @Override - public boolean onMediaPlayerInfo(int code, int resourceId) { - return false; - } - - @Override - public boolean onMediaPlayerError(Object inObj, int what, int extra) { - return false; - } - - @Override - public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { - return false; - } }; PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, null); @@ -376,7 +258,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { public void testPlayMediaObjectStreamStartPrepare() throws InterruptedException { final Context c = getInstrumentation().getTargetContext(); final CountDownLatch countDownLatch = new CountDownLatch(5); - PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { + PlaybackServiceMediaPlayer.PSMPCallback callback = new DefaultPSMPCallback() { @Override public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { @@ -403,47 +285,6 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { assertionError = e; } } - - @Override - public void shouldStop() { - - } - - @Override - public void playbackSpeedChanged(float s) { - - } - - @Override - public void setSpeedAbilityChanged() { - - } - - @Override - public void onMediaChanged(boolean reloadUI) { - - } - - @Override - public void onBufferingUpdate(int percent) { - - } - - @Override - public boolean onMediaPlayerInfo(int code, int resourceId) { - return false; - } - - @Override - public boolean onMediaPlayerError(Object inObj, int what, int extra) { - return false; - } - - @Override - public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { - return false; - } - }; PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, null); @@ -459,7 +300,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { public void testPlayMediaObjectLocalNoStartNoPrepare() throws InterruptedException { final Context c = getInstrumentation().getTargetContext(); final CountDownLatch countDownLatch = new CountDownLatch(2); - PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { + PlaybackServiceMediaPlayer.PSMPCallback callback = new DefaultPSMPCallback() { @Override public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { @@ -480,47 +321,6 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { assertionError = e; } } - - @Override - public void shouldStop() { - - } - - @Override - public void playbackSpeedChanged(float s) { - - } - - @Override - public void setSpeedAbilityChanged() { - - } - - @Override - public void onMediaChanged(boolean reloadUI) { - - } - - @Override - public void onBufferingUpdate(int percent) { - - } - - @Override - public boolean onMediaPlayerInfo(int code, int resourceId) { - return false; - } - - @Override - public boolean onMediaPlayerError(Object inObj, int what, int extra) { - return false; - } - - @Override - public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { - return false; - } - }; PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL); @@ -537,7 +337,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { public void testPlayMediaObjectLocalStartNoPrepare() throws InterruptedException { final Context c = getInstrumentation().getTargetContext(); final CountDownLatch countDownLatch = new CountDownLatch(2); - PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { + PlaybackServiceMediaPlayer.PSMPCallback callback = new DefaultPSMPCallback() { @Override public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { @@ -558,46 +358,6 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { assertionError = e; } } - - @Override - public void shouldStop() { - - } - - @Override - public void playbackSpeedChanged(float s) { - - } - - @Override - public void setSpeedAbilityChanged() { - - } - - @Override - public void onMediaChanged(boolean reloadUI) { - - } - - @Override - public void onBufferingUpdate(int percent) { - - } - - @Override - public boolean onMediaPlayerInfo(int code, int resourceId) { - return false; - } - - @Override - public boolean onMediaPlayerError(Object inObj, int what, int extra) { - return false; - } - - @Override - public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { - return false; - } }; PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL); @@ -614,7 +374,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { public void testPlayMediaObjectLocalNoStartPrepare() throws InterruptedException { final Context c = getInstrumentation().getTargetContext(); final CountDownLatch countDownLatch = new CountDownLatch(4); - PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { + PlaybackServiceMediaPlayer.PSMPCallback callback = new DefaultPSMPCallback() { @Override public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { @@ -638,46 +398,6 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { assertionError = e; } } - - @Override - public void shouldStop() { - - } - - @Override - public void playbackSpeedChanged(float s) { - - } - - @Override - public void setSpeedAbilityChanged() { - - } - - @Override - public void onMediaChanged(boolean reloadUI) { - - } - - @Override - public void onBufferingUpdate(int percent) { - - } - - @Override - public boolean onMediaPlayerInfo(int code, int resourceId) { - return false; - } - - @Override - public boolean onMediaPlayerError(Object inObj, int what, int extra) { - return false; - } - - @Override - public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { - return false; - } }; PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL); @@ -693,7 +413,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { public void testPlayMediaObjectLocalStartPrepare() throws InterruptedException { final Context c = getInstrumentation().getTargetContext(); final CountDownLatch countDownLatch = new CountDownLatch(5); - PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { + PlaybackServiceMediaPlayer.PSMPCallback callback = new DefaultPSMPCallback() { @Override public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { @@ -721,46 +441,6 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { countDownLatch.countDown(); } } - - @Override - public void shouldStop() { - - } - - @Override - public void playbackSpeedChanged(float s) { - - } - - @Override - public void setSpeedAbilityChanged() { - - } - - @Override - public void onMediaChanged(boolean reloadUI) { - - } - - @Override - public void onBufferingUpdate(int percent) { - - } - - @Override - public boolean onMediaPlayerInfo(int code, int resourceId) { - return false; - } - - @Override - public boolean onMediaPlayerError(Object inObj, int what, int extra) { - return false; - } - - @Override - public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { - return false; - } }; PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL); @@ -773,58 +453,12 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { psmp.shutdown(); } - - private final PlaybackServiceMediaPlayer.PSMPCallback defaultCallback = new PlaybackServiceMediaPlayer.PSMPCallback() { - @Override - public void statusChanged(LocalPSMP.PSMPInfo newInfo) { - checkPSMPInfo(newInfo); - } - - @Override - public void shouldStop() { - - } - - @Override - public void playbackSpeedChanged(float s) { - - } - - @Override - public void setSpeedAbilityChanged() { - - } - - @Override - public void onMediaChanged(boolean reloadUI) { - - } - - @Override - public void onBufferingUpdate(int percent) { - - } - - @Override - public boolean onMediaPlayerInfo(int code, int resourceId) { return false; } - - @Override - public boolean onMediaPlayerError(Object inObj, int what, int extra) { - return false; - } - - @Override - public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { - return false; - } - }; - private void pauseTestSkeleton(final PlayerStatus initialState, final boolean stream, final boolean abandonAudioFocus, final boolean reinit, long timeoutSeconds) throws InterruptedException { final Context c = getInstrumentation().getTargetContext(); final int latchCount = (stream && reinit) ? 2 : 1; final CountDownLatch countDownLatch = new CountDownLatch(latchCount); - PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { + PlaybackServiceMediaPlayer.PSMPCallback callback = new DefaultPSMPCallback() { @Override public void statusChanged(LocalPSMP.PSMPInfo newInfo) { checkPSMPInfo(newInfo); @@ -864,41 +498,11 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public void playbackSpeedChanged(float s) { - - } - - @Override - public void setSpeedAbilityChanged() { - - } - - @Override - public void onMediaChanged(boolean reloadUI) { - - } - - @Override - public void onBufferingUpdate(int percent) { - - } - - @Override - public boolean onMediaPlayerInfo(int code, int resourceId) { - return false; - } - - @Override public boolean onMediaPlayerError(Object inObj, int what, int extra) { if (assertionError == null) assertionError = new AssertionFailedError("Unexpected call to onMediaPlayerError"); return false; } - - @Override - public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { - return false; - } }; PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL); @@ -955,7 +559,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { (initialState == PlayerStatus.PREPARED) ? 1 : 0; final CountDownLatch countDownLatch = new CountDownLatch(latchCount); - PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { + PlaybackServiceMediaPlayer.PSMPCallback callback = new DefaultPSMPCallback() { @Override public void statusChanged(LocalPSMP.PSMPInfo newInfo) { checkPSMPInfo(newInfo); @@ -974,47 +578,12 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public void shouldStop() { - - } - - @Override - public void playbackSpeedChanged(float s) { - - } - - @Override - public void setSpeedAbilityChanged() { - - } - - @Override - public void onMediaChanged(boolean reloadUI) { - - } - - @Override - public void onBufferingUpdate(int percent) { - - } - - @Override - public boolean onMediaPlayerInfo(int code, int resourceId) { - return false; - } - - @Override public boolean onMediaPlayerError(Object inObj, int what, int extra) { if (assertionError == null) { assertionError = new AssertionFailedError("Unexpected call of onMediaPlayerError"); } return false; } - - @Override - public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { - return false; - } }; PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); if (initialState == PlayerStatus.PREPARED || initialState == PlayerStatus.PLAYING || initialState == PlayerStatus.PAUSED) { @@ -1048,7 +617,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { final Context c = getInstrumentation().getTargetContext(); final int latchCount = 1; final CountDownLatch countDownLatch = new CountDownLatch(latchCount); - PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { + PlaybackServiceMediaPlayer.PSMPCallback callback = new DefaultPSMPCallback() { @Override public void statusChanged(LocalPSMP.PSMPInfo newInfo) { checkPSMPInfo(newInfo); @@ -1062,37 +631,6 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { countDownLatch.countDown(); } } - - } - - @Override - public void shouldStop() { - - } - - @Override - public void playbackSpeedChanged(float s) { - - } - - @Override - public void setSpeedAbilityChanged() { - - } - - @Override - public void onMediaChanged(boolean reloadUI) { - - } - - @Override - public void onBufferingUpdate(int percent) { - - } - - @Override - public boolean onMediaPlayerInfo(int code, int resourceId) { - return false; } @Override @@ -1101,11 +639,6 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { assertionError = new AssertionFailedError("Unexpected call to onMediaPlayerError"); return false; } - - @Override - public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { - return false; - } }; PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL); @@ -1153,7 +686,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { final Context c = getInstrumentation().getTargetContext(); final int latchCount = 2; final CountDownLatch countDownLatch = new CountDownLatch(latchCount); - PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { + PlaybackServiceMediaPlayer.PSMPCallback callback = new DefaultPSMPCallback() { @Override public void statusChanged(LocalPSMP.PSMPInfo newInfo) { checkPSMPInfo(newInfo); @@ -1170,46 +703,11 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public void shouldStop() { - - } - - @Override - public void playbackSpeedChanged(float s) { - - } - - @Override - public void setSpeedAbilityChanged() { - - } - - @Override - public void onMediaChanged(boolean reloadUI) { - - } - - @Override - public void onBufferingUpdate(int percent) { - - } - - @Override - public boolean onMediaPlayerInfo(int code, int resourceId) { - return false; - } - - @Override public boolean onMediaPlayerError(Object inObj, int what, int extra) { if (assertionError == null) assertionError = new AssertionFailedError("Unexpected call to onMediaPlayerError"); return false; } - - @Override - public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { - return false; - } }; PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL); @@ -1248,4 +746,71 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { super("Unexpected state change: " + status); } } + + private class DefaultPSMPCallback implements PlaybackServiceMediaPlayer.PSMPCallback { + @Override + public void statusChanged(PlaybackServiceMediaPlayer.PSMPInfo newInfo) { + + } + + @Override + public void shouldStop() { + + } + + @Override + public void playbackSpeedChanged(float s) { + + } + + @Override + public void setSpeedAbilityChanged() { + + } + + @Override + public void onBufferingUpdate(int percent) { + + } + + @Override + public void onMediaChanged(boolean reloadUI) { + + } + + @Override + public boolean onMediaPlayerInfo(int code, @StringRes int resourceId) { + return false; + } + + @Override + public boolean onMediaPlayerError(Object inObj, int what, int extra) { + return false; + } + + @Override + public void onPostPlayback(@NonNull Playable media, boolean ended, boolean skipped, boolean playingNext) { + + } + + @Override + public void onPlaybackStart(@NonNull Playable playable, int position) { + + } + + @Override + public void onPlaybackPause(Playable playable, int position) { + + } + + @Override + public Playable getNextInQueue(Playable currentMedia) { + return null; + } + + @Override + public void onPlaybackEnded(MediaType mediaType, boolean stopPlaying) { + + } + } } diff --git a/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java b/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java index 9386e3bd6..0c5cf10cb 100644 --- a/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java +++ b/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java @@ -218,58 +218,43 @@ public class DBReaderTest extends InstrumentationTestCase { } } - private List<FeedItem> saveUnreadItems(int numItems) { - if (numItems <= 0) { - throw new IllegalArgumentException("numItems<=0"); - } + private List<FeedItem> saveNewItems(int numItems) { List<Feed> feeds = saveFeedlist(numItems, numItems, true); List<FeedItem> items = new ArrayList<>(); for (Feed f : feeds) { items.addAll(f.getItems()); } - List<FeedItem> unread = new ArrayList<>(); + List<FeedItem> newItems = new ArrayList<>(); Random random = new Random(); - while (unread.size() < numItems) { + while (newItems.size() < numItems) { int i = random.nextInt(numItems); - if (!unread.contains(items.get(i))) { + if (!newItems.contains(items.get(i))) { FeedItem item = items.get(i); - item.setPlayed(false); - unread.add(item); + item.setNew(); + newItems.add(item); } } PodDBAdapter adapter = PodDBAdapter.getInstance(); adapter.open(); - adapter.setFeedItemlist(unread); + adapter.setFeedItemlist(newItems); adapter.close(); - return unread; - } - - public void testGetUnreadItemsList() { - final int numItems = 10; - - List<FeedItem> unread = saveUnreadItems(numItems); - List<FeedItem> unreadSaved = DBReader.getUnreadItemsList(); - assertNotNull(unreadSaved); - assertTrue(unread.size() == unreadSaved.size()); - for (FeedItem item : unreadSaved) { - assertFalse(item.isPlayed()); - } + return newItems; } public void testGetNewItemIds() { final int numItems = 10; - List<FeedItem> unread = saveUnreadItems(numItems); - long[] unreadIds = new long[unread.size()]; - for (int i = 0; i < unread.size(); i++) { - unreadIds[i] = unread.get(i).getId(); + List<FeedItem> newItems = saveNewItems(numItems); + long[] unreadIds = new long[newItems.size()]; + for (int i = 0; i < newItems.size(); i++) { + unreadIds[i] = newItems.get(i).getId(); } - List<FeedItem> unreadSaved = DBReader.getUnreadItemsList(); - assertNotNull(unreadSaved); - assertTrue(unread.size() == unreadSaved.size()); - for(int i=0; i < unreadSaved.size(); i++) { - long savedId = unreadSaved.get(i).getId(); + List<FeedItem> newItemsSaved = DBReader.getNewItemsList(); + assertNotNull(newItemsSaved); + assertTrue(newItems.size() == newItemsSaved.size()); + for(int i=0; i < newItemsSaved.size(); i++) { + long savedId = newItemsSaved.get(i).getId(); boolean found = false; for (long id : unreadIds) { if (id == savedId) { diff --git a/app/src/androidTest/java/de/test/antennapod/storage/DBTestUtils.java b/app/src/androidTest/java/de/test/antennapod/storage/DBTestUtils.java index da164b78e..30f465784 100644 --- a/app/src/androidTest/java/de/test/antennapod/storage/DBTestUtils.java +++ b/app/src/androidTest/java/de/test/antennapod/storage/DBTestUtils.java @@ -45,7 +45,7 @@ public class DBTestUtils { PodDBAdapter adapter = PodDBAdapter.getInstance(); adapter.open(); for (int i = 0; i < numFeeds; i++) { - Feed f = new Feed(0, null, "feed " + i, "link" + i, "descr", null, null, + Feed f = new Feed(0, null, "feed " + i, null, "link" + i, "descr", null, null, null, null, "id" + i, null, null, "url" + i, false, new FlattrStatus(), false, null, null, false); f.setItems(new ArrayList<>()); for (int j = 0; j < numItems; j++) { diff --git a/app/src/androidTest/java/de/test/antennapod/ui/MainActivityTest.java b/app/src/androidTest/java/de/test/antennapod/ui/MainActivityTest.java index 9a0e11816..bd9057b47 100644 --- a/app/src/androidTest/java/de/test/antennapod/ui/MainActivityTest.java +++ b/app/src/androidTest/java/de/test/antennapod/ui/MainActivityTest.java @@ -138,7 +138,7 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv ListView list = (ListView) solo.getView(R.id.nav_list); for (int i = 0; i < uiTestUtils.hostedFeeds.size(); i++) { Feed f = uiTestUtils.hostedFeeds.get(i); - solo.clickOnScreen(50, 50); // open nav drawer + openNavDrawer(); solo.scrollListToLine(list, i); solo.clickOnText(f.getTitle()); solo.waitForView(android.R.id.list); diff --git a/app/src/androidTest/java/de/test/antennapod/ui/PlaybackSonicTest.java b/app/src/androidTest/java/de/test/antennapod/ui/PlaybackSonicTest.java index d4994fb1a..bfbeedd83 100644 --- a/app/src/androidTest/java/de/test/antennapod/ui/PlaybackSonicTest.java +++ b/app/src/androidTest/java/de/test/antennapod/ui/PlaybackSonicTest.java @@ -245,10 +245,10 @@ public class PlaybackSonicTest extends ActivityInstrumentationTestCase2<MainActi }, Timeout.getSmallTimeout()); assertTrue(startedPlaying); - boolean stoppedPlaying = solo.waitForCondition(() -> { - return uiTestUtils.getCurrentMedia(getActivity()) == null - || uiTestUtils.getCurrentMedia(getActivity()).getId() != mediaId; - }, Timeout.getLargeTimeout()); + boolean stoppedPlaying = solo.waitForCondition(() -> + uiTestUtils.getCurrentMedia(getActivity()) == null + || uiTestUtils.getCurrentMedia(getActivity()).getId() != mediaId + , Timeout.getLargeTimeout()); assertTrue(stoppedPlaying); startLocalPlayback(); diff --git a/app/src/androidTest/java/de/test/antennapod/ui/PlaybackTest.java b/app/src/androidTest/java/de/test/antennapod/ui/PlaybackTest.java index 5ce495f9a..661c2200b 100644 --- a/app/src/androidTest/java/de/test/antennapod/ui/PlaybackTest.java +++ b/app/src/androidTest/java/de/test/antennapod/ui/PlaybackTest.java @@ -236,10 +236,9 @@ public class PlaybackTest extends ActivityInstrumentationTestCase2<MainActivity> }, Timeout.getSmallTimeout()); assertTrue(startedPlaying); - boolean stoppedPlaying = solo.waitForCondition(() -> { - return uiTestUtils.getCurrentMedia(getActivity()) == null - || uiTestUtils.getCurrentMedia(getActivity()).getId() != mediaId; - }, Timeout.getLargeTimeout()); + boolean stoppedPlaying = solo.waitForCondition(() -> + uiTestUtils.getCurrentMedia(getActivity()) == null + || uiTestUtils.getCurrentMedia(getActivity()).getId() != mediaId, Timeout.getLargeTimeout()); assertTrue(stoppedPlaying); startLocalPlayback(); diff --git a/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java b/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java index 040f4150b..91928f01e 100644 --- a/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java +++ b/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java @@ -3,10 +3,12 @@ package de.test.antennapod.ui; import android.content.Context; import android.content.res.Resources; import android.test.ActivityInstrumentationTestCase2; +import android.util.Log; import com.robotium.solo.Solo; import com.robotium.solo.Timeout; +import java.util.Arrays; import java.util.concurrent.TimeUnit; import de.danoeh.antennapod.R; @@ -362,4 +364,48 @@ public class PreferencesTest extends ActivityInstrumentationTestCase2<Preference Timeout.getLargeTimeout())); } + + public void testRewindChange() { + int seconds = UserPreferences.getRewindSecs(); + int deltas[] = res.getIntArray(R.array.seek_delta_values); + + solo.clickOnText(solo.getString(R.string.pref_rewind)); + solo.waitForDialogToOpen(); + + int currentIndex = Arrays.binarySearch(deltas, seconds); + assertTrue(currentIndex >= 0 && currentIndex < deltas.length); // found? + + // Find next value (wrapping around to next) + int newIndex = (currentIndex + 1) % deltas.length; + + solo.clickOnText(String.valueOf(deltas[newIndex]) + " seconds"); + solo.clickOnButton("Confirm"); + + solo.waitForDialogToClose(); + assertTrue(solo.waitForCondition(() -> UserPreferences.getRewindSecs() == deltas[newIndex], + Timeout.getLargeTimeout())); + } + + public void testFastForwardChange() { + for (int i = 2; i > 0; i--) { // repeat twice to catch any error where fastforward is tracking rewind + int seconds = UserPreferences.getFastForwardSecs(); + int deltas[] = res.getIntArray(R.array.seek_delta_values); + + solo.clickOnText(solo.getString(R.string.pref_fast_forward)); + solo.waitForDialogToOpen(); + + int currentIndex = Arrays.binarySearch(deltas, seconds); + assertTrue(currentIndex >= 0 && currentIndex < deltas.length); // found? + + // Find next value (wrapping around to next) + int newIndex = (currentIndex + 1) % deltas.length; + + solo.clickOnText(String.valueOf(deltas[newIndex]) + " seconds"); + solo.clickOnButton("Confirm"); + + solo.waitForDialogToClose(); + assertTrue(solo.waitForCondition(() -> UserPreferences.getFastForwardSecs() == deltas[newIndex], + Timeout.getLargeTimeout())); + } + } } diff --git a/app/src/androidTest/java/de/test/antennapod/util/FilenameGeneratorTest.java b/app/src/androidTest/java/de/test/antennapod/util/FilenameGeneratorTest.java index 6d24fa526..13e8b9582 100644 --- a/app/src/androidTest/java/de/test/antennapod/util/FilenameGeneratorTest.java +++ b/app/src/androidTest/java/de/test/antennapod/util/FilenameGeneratorTest.java @@ -34,6 +34,16 @@ public class FilenameGeneratorTest extends AndroidTestCase { createFiles(result); } + public void testFeedTitleContainsApostrophe() { + String result = FileNameGenerator.generateFileName("Feed's Title ..."); + assertEquals("Feeds Title", result); + } + + public void testFeedTitleContainsDash() { + String result = FileNameGenerator.generateFileName("Left - Right"); + assertEquals("Left Right", result); + } + /** * Tests if files can be created. * |