Tests for paused state and gstreamer impl

This commit is contained in:
Thomas Adamcik 2010-02-14 15:19:38 +01:00
parent d38d64d30f
commit ff001a899c
3 changed files with 26 additions and 5 deletions

View File

@ -114,6 +114,9 @@ class BasePlaybackController(object):
def next(self): def next(self):
raise NotImplementedError raise NotImplementedError
def pause(self):
raise NotImplementedError
@property @property
def next_track(self): def next_track(self):
playlist = self.backend.current_playlist.playlist playlist = self.backend.current_playlist.playlist

View File

@ -77,6 +77,10 @@ class GStreamerPlaybackController(BasePlaybackController):
def stop(self): def stop(self):
self.bin.set_state(gst.STATE_NULL) self.bin.set_state(gst.STATE_NULL)
def pause(self):
if self.state == self.PLAYING:
self.bin.set_state(gst.STATE_PAUSED)
def next(self): def next(self):
playlist = self.backend.current_playlist.playlist playlist = self.backend.current_playlist.playlist

View File

@ -349,20 +349,34 @@ class BasePlaybackControllerTest(object):
def test_new_playlist_loaded_callback(self): def test_new_playlist_loaded_callback(self):
raise NotImplementedError raise NotImplementedError
@populate_playlist
def test_pause_when_stopped(self): def test_pause_when_stopped(self):
raise NotImplementedError self.playback.pause()
self.assertEqual(self.playback.state, self.playback.STOPPED)
@populate_playlist
def test_pause_when_playing(self): def test_pause_when_playing(self):
raise NotImplementedError self.playback.play()
self.playback.pause()
self.assertEqual(self.playback.state, self.playback.PAUSED)
@populate_playlist
def test_pause_when_paused(self): def test_pause_when_paused(self):
raise NotImplementedError self.playback.play()
self.playback.pause()
self.playback.pause()
self.assertEqual(self.playback.state, self.playback.PAUSED)
@populate_playlist
def test_resume_when_stopped(self): def test_resume_when_stopped(self):
raise NotImplementedError self.playback.resume()
self.assertEqual(self.playback.state, self.playback.PLAYING)
@populate_playlist
def test_resume_when_playing(self): def test_resume_when_playing(self):
raise NotImplementedError self.playback.play()
self.playback.resume()
self.assertEqual(self.playback.state, self.playback.PLAYING)
def test_resume_when_paused(self): def test_resume_when_paused(self):
raise NotImplementedError raise NotImplementedError