Test and implement mpris.Shuffle property
This commit is contained in:
parent
e1fc403435
commit
3df3527c73
@ -116,8 +116,7 @@ class MprisObject(dbus.service.Object):
|
|||||||
'PlaybackStatus': (self.get_PlaybackStatus, None),
|
'PlaybackStatus': (self.get_PlaybackStatus, None),
|
||||||
'LoopStatus': (self.get_LoopStatus, self.set_LoopStatus),
|
'LoopStatus': (self.get_LoopStatus, self.set_LoopStatus),
|
||||||
'Rate': (1.0, self.set_Rate),
|
'Rate': (1.0, self.set_Rate),
|
||||||
# TODO Get/set backend.playback.random
|
'Shuffle': (self.get_Shuffle, self.set_Shuffle),
|
||||||
'Shuffle': (False, None),
|
|
||||||
# TODO Get meta data
|
# TODO Get meta data
|
||||||
'Metadata': ({
|
'Metadata': ({
|
||||||
'mpris:trackid': '', # TODO Use (cpid, track.uri)
|
'mpris:trackid': '', # TODO Use (cpid, track.uri)
|
||||||
@ -351,3 +350,12 @@ class MprisObject(dbus.service.Object):
|
|||||||
def set_Rate(self, value):
|
def set_Rate(self, value):
|
||||||
if value == 0:
|
if value == 0:
|
||||||
self.Pause()
|
self.Pause()
|
||||||
|
|
||||||
|
def get_Shuffle(self):
|
||||||
|
return self.backend.playback.shuffle.get()
|
||||||
|
|
||||||
|
def set_Shuffle(self, value):
|
||||||
|
if value:
|
||||||
|
self.backend.playback.shuffle = True
|
||||||
|
else:
|
||||||
|
self.backend.playback.shuffle = False
|
||||||
|
|||||||
@ -85,6 +85,28 @@ class PlayerInterfaceTest(unittest.TestCase):
|
|||||||
self.mpris.Set(mpris.PLAYER_IFACE, 'Rate', 0)
|
self.mpris.Set(mpris.PLAYER_IFACE, 'Rate', 0)
|
||||||
self.assertEquals(self.backend.playback.state.get(), PAUSED)
|
self.assertEquals(self.backend.playback.state.get(), PAUSED)
|
||||||
|
|
||||||
|
def test_get_shuffle_returns_true_if_shuffle_is_active(self):
|
||||||
|
self.backend.playback.shuffle = True
|
||||||
|
result = self.mpris.Get(mpris.PLAYER_IFACE, 'Shuffle')
|
||||||
|
self.assertTrue(result)
|
||||||
|
|
||||||
|
def test_get_shuffle_returns_false_if_shuffle_is_inactive(self):
|
||||||
|
self.backend.playback.shuffle = False
|
||||||
|
result = self.mpris.Get(mpris.PLAYER_IFACE, 'Shuffle')
|
||||||
|
self.assertFalse(result)
|
||||||
|
|
||||||
|
def test_set_shuffle_to_true_activates_shuffle_mode(self):
|
||||||
|
self.backend.playback.shuffle = False
|
||||||
|
self.assertFalse(self.backend.playback.shuffle.get())
|
||||||
|
result = self.mpris.Set(mpris.PLAYER_IFACE, 'Shuffle', True)
|
||||||
|
self.assertTrue(self.backend.playback.shuffle.get())
|
||||||
|
|
||||||
|
def test_set_shuffle_to_false_deactivates_shuffle_mode(self):
|
||||||
|
self.backend.playback.shuffle = True
|
||||||
|
self.assertTrue(self.backend.playback.shuffle.get())
|
||||||
|
result = self.mpris.Set(mpris.PLAYER_IFACE, 'Shuffle', False)
|
||||||
|
self.assertFalse(self.backend.playback.shuffle.get())
|
||||||
|
|
||||||
def test_get_minimum_rate_is_one_or_less(self):
|
def test_get_minimum_rate_is_one_or_less(self):
|
||||||
result = self.mpris.Get(mpris.PLAYER_IFACE, 'MinimumRate')
|
result = self.mpris.Get(mpris.PLAYER_IFACE, 'MinimumRate')
|
||||||
self.assert_(result <= 1.0)
|
self.assert_(result <= 1.0)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user