Test that playback commands change the play state

This commit is contained in:
Stein Magnus Jodal 2009-12-25 21:46:59 +01:00
parent 08a095530f
commit 13f0cea299
4 changed files with 19 additions and 8 deletions

View File

@ -39,19 +39,19 @@ class BaseBackend(object):
# Control methods
def pause(self):
pass
self.state = self.PAUSE
def play(self, songid):
pass
def play_pos(self, songpos):
self.state = self.PLAY
def play_id(self, songid):
pass
self.state = self.PLAY
def resume(self):
pass
self.state = self.PLAY
def stop(self):
pass
self.state = self.STOP
# Current/single playlist methods
def playlist_changes_since(self, version):

View File

@ -100,6 +100,11 @@ class SpotifyBackend(BaseBackend):
self.state = self.PAUSE
self.spotify.pause()
def play_pos(self, songpos):
self.state = self.PLAY
track = self._current_playlist[songpos]
self.spotify.play(track)
def play_id(self, songid):
self.state = self.PLAY
track = self._current_playlist[songid]

View File

@ -186,7 +186,7 @@ class MpdHandler(object):
@register(r'^play "(?P<songpos>\d+)"$')
def _play(self, songpos):
pass # TODO
return self.backend.play_pos(int(songpos))
@register(r'^playid "(?P<songid>\d+)"$')
def _playid(self, songid):

View File

@ -201,7 +201,8 @@ class PlaybackOptionsHandlerTest(unittest.TestCase):
class PlaybackControlHandlerTest(unittest.TestCase):
def setUp(self):
self.h = handler.MpdHandler(backend=DummyBackend())
self.b = DummyBackend()
self.h = handler.MpdHandler(backend=self.b)
def test_next(self):
result = self.h.handle_request(u'next')
@ -210,18 +211,22 @@ class PlaybackControlHandlerTest(unittest.TestCase):
def test_pause_off(self):
result = self.h.handle_request(u'pause "0"')
self.assert_(result is None)
self.assertEquals(self.b.PLAY, self.b.state)
def test_pause_on(self):
result = self.h.handle_request(u'pause "1"')
self.assert_(result is None)
self.assertEquals(self.b.PAUSE, self.b.state)
def test_play(self):
result = self.h.handle_request(u'play "0"')
self.assert_(result is None)
self.assertEquals(self.b.PLAY, self.b.state)
def test_playid(self):
result = self.h.handle_request(u'playid "0"')
self.assert_(result is None)
self.assertEquals(self.b.PLAY, self.b.state)
def test_previous(self):
result = self.h.handle_request(u'previous')
@ -238,6 +243,7 @@ class PlaybackControlHandlerTest(unittest.TestCase):
def test_stop(self):
result = self.h.handle_request(u'stop')
self.assert_(result is None)
self.assertEquals(self.b.STOP, self.b.state)
class CurrentPlaylistHandlerTest(unittest.TestCase):