Add volume test
This commit is contained in:
parent
33451a9cf9
commit
49e00fba8d
@ -103,6 +103,7 @@ class BasePlaybackController(object):
|
||||
def __init__(self, backend):
|
||||
self.backend = backend
|
||||
self.current_track = None
|
||||
self._volume = None
|
||||
|
||||
def play(self, id=None, position=None):
|
||||
raise NotImplementedError
|
||||
@ -146,3 +147,7 @@ class BasePlaybackController(object):
|
||||
return playlist.tracks.index(self.current_track)
|
||||
except ValueError:
|
||||
return None
|
||||
|
||||
@property
|
||||
def volume(self):
|
||||
return self._volume
|
||||
|
||||
@ -87,3 +87,11 @@ class GStreamerPlaybackController(BasePlaybackController):
|
||||
else:
|
||||
next_track = playlist.tracks[self.playlist_position+1]
|
||||
self.play(next_track)
|
||||
|
||||
@property
|
||||
def volume(self):
|
||||
return self.bin.get_property('volume') * 100
|
||||
|
||||
@volume.setter
|
||||
def volume(self, value):
|
||||
return self.bin.set_property('volume', float(value) / 100)
|
||||
|
||||
@ -190,6 +190,7 @@ class BaseCurrentPlaylistControllerTest(object):
|
||||
class BasePlaybackControllerTest(object):
|
||||
uris = []
|
||||
backend_class = None
|
||||
supports_volume = False
|
||||
|
||||
def setUp(self):
|
||||
self.backend = self.backend_class()
|
||||
@ -369,7 +370,14 @@ class BasePlaybackControllerTest(object):
|
||||
raise NotImplementedError
|
||||
|
||||
def test_volume(self):
|
||||
raise NotImplementedError
|
||||
if not self.supports_volume:
|
||||
self.assertEqual(self.playback.volume, None)
|
||||
else:
|
||||
self.assertEqual(self.playback.volume, 100)
|
||||
self.playback.volume = 50
|
||||
self.assertEqual(self.playback.volume, 50)
|
||||
self.playback.volume = 0
|
||||
self.assertEqual(self.playback.volume, 0)
|
||||
|
||||
def test_play_with_consume(self):
|
||||
raise NotImplementedError
|
||||
|
||||
@ -20,6 +20,7 @@ class GStreamerPlaybackControllerTest(BasePlaybackControllerTest, unittest.TestC
|
||||
]
|
||||
|
||||
backend_class = GStreamerBackend
|
||||
supports_volume = True
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user