From ff001a899c600772583e6b5640e0b0173632d66c Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sun, 14 Feb 2010 15:19:38 +0100 Subject: [PATCH] Tests for paused state and gstreamer impl --- mopidy/backends/__init__.py | 3 +++ mopidy/backends/gstreamer.py | 4 ++++ tests/backends/basetests.py | 24 +++++++++++++++++++----- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/mopidy/backends/__init__.py b/mopidy/backends/__init__.py index 2adc2398..3ff5f6a5 100644 --- a/mopidy/backends/__init__.py +++ b/mopidy/backends/__init__.py @@ -114,6 +114,9 @@ class BasePlaybackController(object): def next(self): raise NotImplementedError + def pause(self): + raise NotImplementedError + @property def next_track(self): playlist = self.backend.current_playlist.playlist diff --git a/mopidy/backends/gstreamer.py b/mopidy/backends/gstreamer.py index 7c474bd8..0ad631e8 100644 --- a/mopidy/backends/gstreamer.py +++ b/mopidy/backends/gstreamer.py @@ -77,6 +77,10 @@ class GStreamerPlaybackController(BasePlaybackController): def stop(self): 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): playlist = self.backend.current_playlist.playlist diff --git a/tests/backends/basetests.py b/tests/backends/basetests.py index b25dc5d8..5dbebf77 100644 --- a/tests/backends/basetests.py +++ b/tests/backends/basetests.py @@ -349,20 +349,34 @@ class BasePlaybackControllerTest(object): def test_new_playlist_loaded_callback(self): raise NotImplementedError + @populate_playlist 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): - raise NotImplementedError + self.playback.play() + self.playback.pause() + self.assertEqual(self.playback.state, self.playback.PAUSED) + @populate_playlist 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): - raise NotImplementedError + self.playback.resume() + self.assertEqual(self.playback.state, self.playback.PLAYING) + @populate_playlist 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): raise NotImplementedError