core: Make event triggers internal

This commit is contained in:
Thomas Adamcik 2015-03-23 00:37:50 +01:00
parent fd04cd918f
commit 07f0453c6e
5 changed files with 40 additions and 34 deletions

View File

@ -84,10 +84,10 @@ class Core(
"""
def reached_end_of_stream(self):
self.playback.on_end_of_track()
self.playback._on_end_of_track()
def stream_changed(self, uri):
self.playback.on_stream_changed(uri)
self.playback._on_stream_changed(uri)
def state_changed(self, old_state, new_state, target_state):
# XXX: This is a temporary fix for issue #232 while we wait for a more

View File

@ -202,7 +202,7 @@ class PlaybackController(object):
self.pause()
# TODO: this is not really end of track, this is on_need_next_track
def on_end_of_track(self):
def _on_end_of_track(self):
"""
Tell the playback controller that end of track is reached.
@ -222,7 +222,7 @@ class PlaybackController(object):
self.core.tracklist._mark_played(original_tl_track)
def on_tracklist_change(self):
def _on_tracklist_change(self):
"""
Tell the playback controller that the current playlist has changed.
@ -233,7 +233,7 @@ class PlaybackController(object):
self.stop()
self.set_current_tl_track(None)
def on_stream_changed(self, uri):
def _on_stream_changed(self, uri):
self._stream_title = None
def next(self):

View File

@ -67,7 +67,7 @@ class TracklistController(object):
def _increase_version(self):
self._version += 1
self.core.playback.on_tracklist_change()
self.core.playback._on_tracklist_change()
self._trigger_tracklist_changed()
version = deprecated_property(get_version)

View File

@ -50,6 +50,9 @@ class CorePlaybackTest(unittest.TestCase):
self.unplayable_tl_track = self.tl_tracks[2]
self.duration_less_tl_track = self.tl_tracks[4]
def trigger_end_of_track(self):
self.core.playback._on_end_of_track()
def test_get_current_tl_track_none(self):
self.core.playback.set_current_tl_track(None)
@ -419,7 +422,7 @@ class CorePlaybackTest(unittest.TestCase):
tl_track = self.tl_tracks[0]
self.core.playback.play(tl_track)
self.core.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertIn(tl_track, self.core.tracklist.tl_tracks)
@ -428,7 +431,7 @@ class CorePlaybackTest(unittest.TestCase):
self.core.playback.play(tl_track)
self.core.tracklist.consume = True
self.core.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertNotIn(tl_track, self.core.tracklist.tl_tracks)
@ -438,7 +441,7 @@ class CorePlaybackTest(unittest.TestCase):
self.core.playback.play(self.tl_tracks[0])
listener_mock.reset_mock()
self.core.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertListEqual(
listener_mock.send.mock_calls,

View File

@ -39,6 +39,9 @@ class LocalPlaybackProviderTest(unittest.TestCase):
track = Track(uri=uri, length=4464)
self.tracklist.add([track])
def trigger_end_of_track(self):
self.playback._on_end_of_track()
def setUp(self): # noqa: N802
self.audio = dummy_audio.create_proxy()
self.backend = actor.LocalBackend.start(
@ -163,7 +166,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
@populate_tracklist
def test_current_track_after_completed_playlist(self):
self.playback.play(self.tracklist.tl_tracks[-1])
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertEqual(self.playback.state, PlaybackState.STOPPED)
self.assertEqual(self.playback.current_track, None)
@ -406,7 +409,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
old_position = self.tracklist.index(tl_track)
old_uri = tl_track.track.uri
self.playback.on_end_of_track()
self.trigger_end_of_track()
tl_track = self.playback.current_tl_track
self.assertEqual(
@ -416,11 +419,11 @@ class LocalPlaybackProviderTest(unittest.TestCase):
@populate_tracklist
def test_end_of_track_return_value(self):
self.playback.play()
self.assertEqual(self.playback.on_end_of_track(), None)
self.assertEqual(self.trigger_end_of_track(), None)
@populate_tracklist
def test_end_of_track_does_not_trigger_playback(self):
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertEqual(self.playback.state, PlaybackState.STOPPED)
@populate_tracklist
@ -433,7 +436,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.index(tl_track), i)
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertEqual(self.playback.state, PlaybackState.STOPPED)
@ -442,7 +445,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
self.playback.play()
for _ in self.tracks:
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertEqual(self.playback.current_track, None)
self.assertEqual(self.playback.state, PlaybackState.STOPPED)
@ -452,7 +455,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
self.assertEqual(self.playback.current_track, self.tracks[0])
def test_end_of_track_for_empty_playlist(self):
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertEqual(self.playback.state, PlaybackState.STOPPED)
@populate_tracklist
@ -462,7 +465,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
self.backend.playback.play = lambda: return_values.pop()
self.playback.play()
self.assertEqual(self.playback.current_track, self.tracks[0])
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertNotEqual(self.playback.current_track, self.tracks[1])
self.assertEqual(self.playback.current_track, self.tracks[2])
@ -482,7 +485,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
@populate_tracklist
def test_end_of_track_track_after_previous(self):
self.playback.play()
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.playback.previous()
tl_track = self.playback.current_tl_track
self.assertEqual(
@ -496,7 +499,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
def test_end_of_track_track_at_end_of_playlist(self):
self.playback.play()
for _ in self.tracklist.tl_tracks[1:]:
self.playback.on_end_of_track()
self.trigger_end_of_track()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), None)
@ -505,7 +508,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
self.tracklist.repeat = True
self.playback.play()
for _ in self.tracks[1:]:
self.playback.on_end_of_track()
self.trigger_end_of_track()
tl_track = self.playback.current_tl_track
self.assertEqual(
self.tracklist.next_track(tl_track), self.tl_tracks[0])
@ -524,7 +527,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
def test_end_of_track_with_consume(self):
self.tracklist.consume = True
self.playback.play()
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertNotIn(self.tracks[0], self.tracklist.tracks)
@populate_tracklist
@ -535,7 +538,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
self.tracklist.random = True
self.playback.play()
self.assertEqual(self.playback.current_track, self.tracks[-1])
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertEqual(self.playback.current_track, self.tracks[-2])
@populate_tracklist
@ -654,19 +657,19 @@ class LocalPlaybackProviderTest(unittest.TestCase):
@populate_tracklist
def test_tracklist_position_at_end_of_playlist(self):
self.playback.play(self.tracklist.tl_tracks[-1])
self.playback.on_end_of_track()
self.trigger_end_of_track()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.index(tl_track), None)
def test_on_tracklist_change_gets_called(self):
callback = self.playback.on_tracklist_change
callback = self.playback._on_tracklist_change
def wrapper():
wrapper.called = True
return callback()
wrapper.called = False
self.playback.on_tracklist_change = wrapper
self.playback._on_tracklist_change = wrapper
self.tracklist.add([Track()])
self.assert_(wrapper.called)
@ -917,7 +920,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
self.tracklist.consume = True
self.playback.play()
for _ in range(len(self.tracklist.tracks)):
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertEqual(len(self.tracklist.tracks), 0)
@populate_tracklist
@ -944,7 +947,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
@populate_tracklist
def test_end_of_song_starts_next_track(self):
self.playback.play()
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertEqual(self.playback.current_track, self.tracks[1])
@populate_tracklist
@ -953,7 +956,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
self.tracklist.repeat = True
self.playback.play()
self.assertEqual(self.playback.current_track, self.tracks[0])
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertEqual(self.playback.current_track, self.tracks[0])
@populate_tracklist
@ -963,7 +966,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
self.tracklist.random = True
self.playback.play()
current_track = self.playback.current_track
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertEqual(self.playback.current_track, current_track)
@populate_tracklist
@ -971,7 +974,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
self.tracklist.single = True
self.playback.play()
self.assertEqual(self.playback.current_track, self.tracks[0])
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertEqual(self.playback.current_track, None)
self.assertEqual(self.playback.state, PlaybackState.STOPPED)
@ -980,14 +983,14 @@ class LocalPlaybackProviderTest(unittest.TestCase):
self.tracklist.single = True
self.tracklist.random = True
self.playback.play()
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertEqual(self.playback.current_track, None)
self.assertEqual(self.playback.state, PlaybackState.STOPPED)
@populate_tracklist
def test_end_of_playlist_stops(self):
self.playback.play(self.tracklist.tl_tracks[-1])
self.playback.on_end_of_track()
self.trigger_end_of_track()
self.assertEqual(self.playback.state, PlaybackState.STOPPED)
def test_repeat_off_by_default(self):
@ -1013,7 +1016,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
self.tracklist.random = True
self.playback.play()
for _ in self.tracks[1:]:
self.playback.on_end_of_track()
self.trigger_end_of_track()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.eot_track(tl_track), None)
@ -1034,7 +1037,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
self.tracklist.random = True
self.playback.play()
for _ in self.tracks:
self.playback.on_end_of_track()
self.trigger_end_of_track()
tl_track = self.playback.current_tl_track
self.assertNotEqual(self.tracklist.eot_track(tl_track), None)
self.assertEqual(self.playback.state, PlaybackState.STOPPED)