Add volume test

This commit is contained in:
Thomas Adamcik 2010-02-14 14:29:47 +01:00
parent 33451a9cf9
commit 49e00fba8d
4 changed files with 23 additions and 1 deletions

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -20,6 +20,7 @@ class GStreamerPlaybackControllerTest(BasePlaybackControllerTest, unittest.TestC
]
backend_class = GStreamerBackend
supports_volume = True
if __name__ == '__main__':
unittest.main()