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