Fix test_load_triggers_playing_of_new_playlist

This commit is contained in:
Thomas Adamcik 2010-02-13 22:43:47 +01:00
parent 827305ad00
commit 183ff30fa5
2 changed files with 30 additions and 1 deletions

View File

@ -39,6 +39,20 @@ class BaseCurrentPlaylistController(object):
def load(self, playlist):
self.playlist = playlist
playback = self.backend.playback
# FIXME introduce a mechanism for telling
# playback that it needs to reset
playback.playlist_position = 0
if playlist.tracks:
playback.current_track = playlist.tracks[0]
else:
playback.current_track = None
if playback.state == playback.PLAYING:
self.backend.playback.play()
def move(self, start, end, to_position):
tracks = self.playlist.tracks

View File

@ -84,7 +84,22 @@ class BaseCurrentPlaylistControllerTest(object):
self.controller.load(Playlist())
self.assertEqual(self.controller.version, version+1)
def test_load_triggers_playing_of_new_playlist(self):
@populate_playlist
def test_load_preserves_and_updates_play_state(self):
tracks = self.controller.playlist.tracks
playback = self.playback
self.playback.play()
self.controller.load(Playlist(tracks=[tracks[1]]))
self.assertEqual(playback.state, playback.PLAYING)
self.assertEqual(tracks[1], self.playback.current_track)
self.playback.stop()
self.controller.load(Playlist(tracks=[tracks[2]]))
self.assertEqual(playback.state, playback.STOPPED)
self.assertEqual(tracks[2], self.playback.current_track)
def test_load_triggers_playing_of_new_playlist_if_allready_playing(self):
raise NotImplementedError
@populate_playlist