diff --git a/mopidy/backends/__init__.py b/mopidy/backends/__init__.py index d65de12a..7385a7cd 100644 --- a/mopidy/backends/__init__.py +++ b/mopidy/backends/__init__.py @@ -514,6 +514,9 @@ class BasePlaybackController(object): self.current_track = track self.state = self.PLAYING + if self.random and self.current_track in self._shuffled: + self._shuffled.remove(self.current_track) + def _play(self, track): raise NotImplementedError diff --git a/tests/backends/base.py b/tests/backends/base.py index 4cec3e10..9e831072 100644 --- a/tests/backends/base.py +++ b/tests/backends/base.py @@ -805,10 +805,10 @@ class BasePlaybackControllerTest(object): @populate_playlist def test_played_track_during_random_not_played_again(self): self.playback.random = True + self.playback.play() played = [] for track in self.tracks: - self.playback.next() - self.assert_(self.playback.current_track not in played, - self.playback.current_track) + self.assert_(self.playback.current_track not in played) played.append(self.playback.current_track) + self.playback.next() self.assertEqual(self.playback.next_track, None)