Test and implement all direct checks of CanPlay==true
This commit is contained in:
parent
4013a2ec9a
commit
4de7c242b7
@ -277,6 +277,9 @@ class MprisObject(dbus.service.Object):
|
||||
@dbus.service.method(dbus_interface=PLAYER_IFACE)
|
||||
def Play(self):
|
||||
logger.debug(u'%s.Play called', PLAYER_IFACE)
|
||||
if not self.get_CanPlay():
|
||||
logger.debug(u'%s.Play not allowed', PLAYER_IFACE)
|
||||
return
|
||||
state = self.backend.playback.state.get()
|
||||
if state == PlaybackController.PAUSED:
|
||||
self.backend.playback.resume().get()
|
||||
|
||||
@ -380,6 +380,13 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.mpris.Stop()
|
||||
self.assertEquals(self.backend.playback.state.get(), STOPPED)
|
||||
|
||||
def test_play_is_ignored_if_can_play_is_false(self):
|
||||
self.mpris.get_CanPlay = lambda *_: False
|
||||
self.backend.current_playlist.append([Track(uri='a'), Track(uri='b')])
|
||||
self.assertEquals(self.backend.playback.state.get(), STOPPED)
|
||||
self.mpris.Play()
|
||||
self.assertEquals(self.backend.playback.state.get(), STOPPED)
|
||||
|
||||
def test_play_when_stopped_starts_playback(self):
|
||||
self.backend.current_playlist.append([Track(uri='a'), Track(uri='b')])
|
||||
self.assertEquals(self.backend.playback.state.get(), STOPPED)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user