From ce349e37da283b3e7a954097f3dbcab391f401b9 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sun, 14 Feb 2010 17:36:37 +0100 Subject: [PATCH] Add more tests for previous --- mopidy/backends/__init__.py | 5 +++-- tests/backends/basetests.py | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/mopidy/backends/__init__.py b/mopidy/backends/__init__.py index 52e3cdae..92b6a7c1 100644 --- a/mopidy/backends/__init__.py +++ b/mopidy/backends/__init__.py @@ -157,6 +157,8 @@ class BasePlaybackController(object): @property def previous_track(self): + playlist = self.backend.current_playlist.playlist + if self.current_track is None: return None @@ -164,8 +166,7 @@ class BasePlaybackController(object): return None try: - return self.backend.current_playlist.playlist.tracks[ - self.playlist_position - 1] + return playlist.tracks[self.playlist_position - 1] except IndexError: return None diff --git a/tests/backends/basetests.py b/tests/backends/basetests.py index 32e04c23..b103e337 100644 --- a/tests/backends/basetests.py +++ b/tests/backends/basetests.py @@ -301,6 +301,15 @@ class BasePlaybackControllerTest(object): self.playback.previous() self.assertEqual(self.playback.current_track, tracks[0]) + @populate_playlist + def test_previous_more(self): + tracks = self.backend.current_playlist.playlist.tracks + self.playback.play() # At track 0 + self.playback.next() # At track 1 + self.playback.next() # At track 2 + self.playback.previous() # At track 1 + self.assertEqual(self.playback.current_track, tracks[1]) + @populate_playlist def test_previous_triggers_playback(self): self.playback.play() @@ -359,7 +368,16 @@ class BasePlaybackControllerTest(object): self.playback.next() self.assertEqual(self.playback.previous_track, tracks[0]) + @populate_playlist def test_previous_track_after_previous(self): + tracks = self.backend.current_playlist.playlist.tracks + self.playback.play() # At track 0 + self.playback.next() # At track 1 + self.playback.next() # At track 2 + self.playback.previous() # At track 1 + self.assertEqual(self.playback.previous_track, tracks[0]) + + def test_previous_track_empty_playlist(self): raise NotImplementedError @populate_playlist