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),
|
||||
'LoopStatus': (self.get_LoopStatus, self.set_LoopStatus),
|
||||
'Rate': (1.0, self.set_Rate),
|
||||
# TODO Get/set backend.playback.random
|
||||
'Shuffle': (False, None),
|
||||
'Shuffle': (self.get_Shuffle, self.set_Shuffle),
|
||||
# TODO Get meta data
|
||||
'Metadata': ({
|
||||
'mpris:trackid': '', # TODO Use (cpid, track.uri)
|
||||
@ -351,3 +350,12 @@ class MprisObject(dbus.service.Object):
|
||||
def set_Rate(self, value):
|
||||
if value == 0:
|
||||
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.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):
|
||||
result = self.mpris.Get(mpris.PLAYER_IFACE, 'MinimumRate')
|
||||
self.assert_(result <= 1.0)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user