From 3a19794a15241e0af6dda428fa8f3290d7b03a68 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sun, 7 Mar 2010 22:24:05 +0100 Subject: [PATCH] Add test_seek_beyond_end_of_song and test_seek_beyond_end_of_song_for_last_track --- mopidy/backends/gstreamer.py | 3 +++ tests/backends/basetests.py | 11 ++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/mopidy/backends/gstreamer.py b/mopidy/backends/gstreamer.py index dab07bb1..eaf0d5bd 100644 --- a/mopidy/backends/gstreamer.py +++ b/mopidy/backends/gstreamer.py @@ -103,6 +103,9 @@ class GStreamerPlaybackController(BasePlaybackController): if time_position < 0: time_position = 0 + elif self.current_track and time_position > self.current_track.length: + self.next() + return self._bin.seek_simple(gst.Format(gst.FORMAT_TIME), gst.SEEK_FLAG_FLUSH, time_position * gst.MSECOND) diff --git a/tests/backends/basetests.py b/tests/backends/basetests.py index f4b0b872..66f8227b 100644 --- a/tests/backends/basetests.py +++ b/tests/backends/basetests.py @@ -587,8 +587,17 @@ class BasePlaybackControllerTest(object): self.playback.seek(0) self.assertEqual(self.playback.state, self.playback.PLAYING) + @populate_playlist def test_seek_beyond_end_of_song(self): - raise NotImplementedError + self.playback.play() + self.playback.seek(self.tracks[0].length*100) + self.assertEqual(self.playback.current_track, self.tracks[1]) + + @populate_playlist + def test_seek_beyond_end_of_song_for_last_track(self): + self.playback.play(self.tracks[-1]) + self.playback.seek(self.tracks[-1].length*100) + self.assertEqual(self.playback.state, self.playback.STOPPED) @populate_playlist def test_seek_beyond_start_of_song(self):