Fix 'play/playid "-1"' behaviour when playlist is empty
This commit is contained in:
parent
696942e3c0
commit
3339fb7de0
@ -18,6 +18,7 @@ Another great release.
|
||||
- MPD frontend:
|
||||
|
||||
- Search improvements, including support for multi-word search.
|
||||
- Fixed ``play "-1"`` and ``playid "-1"`` behaviour when playlist is empty.
|
||||
|
||||
- Backend API:
|
||||
|
||||
|
||||
@ -964,6 +964,8 @@ class MpdFrontend(object):
|
||||
cpid = int(cpid)
|
||||
try:
|
||||
if cpid == -1:
|
||||
if not self.backend.current_playlist.cp_tracks:
|
||||
return # Fail silently
|
||||
cp_track = self.backend.current_playlist.cp_tracks[0]
|
||||
else:
|
||||
cp_track = self.backend.current_playlist.get(cpid=cpid)
|
||||
@ -989,6 +991,8 @@ class MpdFrontend(object):
|
||||
songpos = int(songpos)
|
||||
try:
|
||||
if songpos == -1:
|
||||
if not self.backend.current_playlist.cp_tracks:
|
||||
return # Fail silently
|
||||
cp_track = self.backend.current_playlist.cp_tracks[0]
|
||||
else:
|
||||
cp_track = self.backend.current_playlist.cp_tracks[songpos]
|
||||
|
||||
@ -180,6 +180,13 @@ class PlaybackControlHandlerTest(unittest.TestCase):
|
||||
self.assertEqual(self.b.playback.PLAYING, self.b.playback.state)
|
||||
self.assertEqual(self.b.playback.current_track, track)
|
||||
|
||||
def test_play_minus_one_on_empty_playlist_does_not_ack(self):
|
||||
self.b.current_playlist.clear()
|
||||
result = self.h.handle_request(u'play "-1"')
|
||||
self.assert_(u'OK' in result)
|
||||
self.assertEqual(self.b.playback.STOPPED, self.b.playback.state)
|
||||
self.assertEqual(self.b.playback.current_track, None)
|
||||
|
||||
def test_playid(self):
|
||||
self.b.current_playlist.load([Track()])
|
||||
result = self.h.handle_request(u'playid "1"')
|
||||
@ -194,6 +201,13 @@ class PlaybackControlHandlerTest(unittest.TestCase):
|
||||
self.assertEqual(self.b.playback.PLAYING, self.b.playback.state)
|
||||
self.assertEqual(self.b.playback.current_track, track)
|
||||
|
||||
def test_playid_minus_one_on_empty_playlist_does_not_ack(self):
|
||||
self.b.current_playlist.clear()
|
||||
result = self.h.handle_request(u'playid "-1"')
|
||||
self.assert_(u'OK' in result)
|
||||
self.assertEqual(self.b.playback.STOPPED, self.b.playback.state)
|
||||
self.assertEqual(self.b.playback.current_track, None)
|
||||
|
||||
def test_playid_which_does_not_exist(self):
|
||||
self.b.current_playlist.load([Track()])
|
||||
result = self.h.handle_request(u'playid "12345"')
|
||||
|
||||
Loading…
Reference in New Issue
Block a user