Test that playback commands change the play state
This commit is contained in:
parent
08a095530f
commit
13f0cea299
@ -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):
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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):
|
||||
|
||||
@ -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):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user