Add test_time_position_when_playing and test_time_position_when_paused fixing code to pass them

This commit is contained in:
Thomas Adamcik 2010-02-18 03:50:46 +01:00
parent 5fc47b8611
commit ba7a836d8b
2 changed files with 21 additions and 3 deletions

View File

@ -94,7 +94,10 @@ class GStreamerPlaybackController(BasePlaybackController):
@property @property
def time_position(self): def time_position(self):
return 0 try:
return self.bin.query_position(gst.FORMAT_TIME)[0] // gst.MSECOND
except gst.QueryError:
return 0
def destroy(self): def destroy(self):
self.bin.set_state(gst.STATE_NULL) self.bin.set_state(gst.STATE_NULL)

View File

@ -1,4 +1,5 @@
import random import random
import time
from mopidy.models import Playlist, Track from mopidy.models import Playlist, Track
@ -559,11 +560,25 @@ class BasePlaybackControllerTest(object):
def test_time_position_when_stopped_with_playlist(self): def test_time_position_when_stopped_with_playlist(self):
self.assertEqual(self.playback.time_position, 0) self.assertEqual(self.playback.time_position, 0)
@populate_playlist
def test_time_position_when_playing(self): def test_time_position_when_playing(self):
raise NotImplementedError self.playback.play()
time.sleep(0.1)
first = self.playback.time_position
time.sleep(0.1)
second = self.playback.time_position
self.assert_(second > first, '%s - %s' % (first, second))
@populate_playlist
def test_time_position_when_paused(self): def test_time_position_when_paused(self):
raise NotImplementedError self.playback.play()
time.sleep(0.1)
self.playback.pause()
first = self.playback.time_position
second = self.playback.time_position
self.assertEqual(first, second)
def test_volume(self): def test_volume(self):
if not self.supports_volume: if not self.supports_volume: