Add move singe test and implement move function on controller
This commit is contained in:
parent
f8c29c1dfd
commit
a8d1330343
@ -28,6 +28,20 @@ class BaseCurrentPlaylistController(object):
|
||||
def load(self, playlist):
|
||||
self.playlist = playlist
|
||||
|
||||
def move(self, start, end, to_position):
|
||||
tracks = self.playlist.tracks
|
||||
|
||||
if start == end:
|
||||
end += 1
|
||||
|
||||
new_tracks = tracks[:start] + tracks[end:]
|
||||
|
||||
for track in tracks[start:end]:
|
||||
new_tracks.insert(to_position, track)
|
||||
to_position += 1
|
||||
|
||||
self.playlist = Playlist(tracks=new_tracks)
|
||||
|
||||
class BasePlaybackController(object):
|
||||
PAUSED = 'paused'
|
||||
PLAYING = 'playing'
|
||||
|
||||
@ -54,6 +54,15 @@ class BaseCurrentPlaylistControllerTest(object):
|
||||
self.controller.load(new_playlist)
|
||||
self.assertEqual(new_playlist, self.controller.playlist)
|
||||
|
||||
@populate_playlist
|
||||
def test_move_single(self):
|
||||
tracks = self.controller.playlist.tracks
|
||||
self.assertEqual(tracks[0].uri, self.uris[0])
|
||||
self.controller.move(0, 0, 2)
|
||||
|
||||
tracks = self.controller.playlist.tracks
|
||||
self.assertEqual(tracks[2].uri, self.uris[0])
|
||||
|
||||
class BasePlaybackControllerTest(object):
|
||||
uris = []
|
||||
backend_class = None
|
||||
|
||||
Loading…
Reference in New Issue
Block a user