Use tracklist.add() instead of tracklist.append()
This commit is contained in:
parent
70dbf81191
commit
1ed56c9ed7
@ -24,7 +24,7 @@ def add(context, uri):
|
||||
return
|
||||
tracks = context.core.library.lookup(uri).get()
|
||||
if tracks:
|
||||
context.core.tracklist.append(tracks)
|
||||
context.core.tracklist.add(tracks)
|
||||
return
|
||||
raise MpdNoExistError('directory or file not found', command='add')
|
||||
|
||||
@ -371,7 +371,7 @@ def swap(context, songpos1, songpos2):
|
||||
del tracks[songpos2]
|
||||
tracks.insert(songpos2, song1)
|
||||
context.core.tracklist.clear()
|
||||
context.core.tracklist.append(tracks)
|
||||
context.core.tracklist.add(tracks)
|
||||
|
||||
|
||||
@handle_request(r'^swapid "(?P<tlid1>\d+)" "(?P<tlid2>\d+)"$')
|
||||
|
||||
@ -101,7 +101,7 @@ def load(context, name):
|
||||
playlists = context.core.playlists.filter(name=name).get()
|
||||
if not playlists:
|
||||
raise MpdNoExistError('No such playlist', command='load')
|
||||
context.core.tracklist.append(playlists[0].tracks)
|
||||
context.core.tracklist.add(playlists[0].tracks)
|
||||
|
||||
|
||||
@handle_request(r'^playlistadd "(?P<name>[^"]+)" "(?P<uri>[^"]+)"$')
|
||||
|
||||
@ -281,7 +281,7 @@ class MprisObject(dbus.service.Object):
|
||||
# is added to the backend.
|
||||
tracks = self.core.library.lookup(uri).get()
|
||||
if tracks:
|
||||
tl_tracks = self.core.tracklist.append(tracks).get()
|
||||
tl_tracks = self.core.tracklist.add(tracks).get()
|
||||
self.core.playback.play(tl_tracks[0])
|
||||
else:
|
||||
logger.debug('Track with URI "%s" not found in library.', uri)
|
||||
@ -449,7 +449,7 @@ class MprisObject(dbus.service.Object):
|
||||
playlist_uri = self.get_playlist_uri(playlist_id)
|
||||
playlist = self.core.playlists.lookup(playlist_uri).get()
|
||||
if playlist and playlist.tracks:
|
||||
tl_tracks = self.core.tracklist.append(playlist.tracks).get()
|
||||
tl_tracks = self.core.tracklist.add(playlist.tracks).get()
|
||||
self.core.playback.play(tl_tracks[0])
|
||||
|
||||
@dbus.service.method(dbus_interface=PLAYLISTS_IFACE)
|
||||
|
||||
@ -301,7 +301,7 @@ class PlaybackControllerTest(object):
|
||||
random.seed(1)
|
||||
self.playback.random = True
|
||||
self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[2])
|
||||
self.tracklist.append(self.tracks[:1])
|
||||
self.tracklist.add(self.tracks[:1])
|
||||
self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[1])
|
||||
|
||||
@populate_tracklist
|
||||
@ -429,7 +429,7 @@ class PlaybackControllerTest(object):
|
||||
random.seed(1)
|
||||
self.playback.random = True
|
||||
self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[2])
|
||||
self.tracklist.append(self.tracks[:1])
|
||||
self.tracklist.add(self.tracks[:1])
|
||||
self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[1])
|
||||
|
||||
@populate_tracklist
|
||||
@ -521,7 +521,7 @@ class PlaybackControllerTest(object):
|
||||
wrapper.called = False
|
||||
|
||||
self.playback.on_tracklist_change = wrapper
|
||||
self.tracklist.append([Track()])
|
||||
self.tracklist.add([Track()])
|
||||
|
||||
self.assert_(wrapper.called)
|
||||
|
||||
@ -538,13 +538,13 @@ class PlaybackControllerTest(object):
|
||||
def test_on_tracklist_change_when_playing(self):
|
||||
self.playback.play()
|
||||
current_track = self.playback.current_track
|
||||
self.tracklist.append([self.tracks[2]])
|
||||
self.tracklist.add([self.tracks[2]])
|
||||
self.assertEqual(self.playback.state, PlaybackState.PLAYING)
|
||||
self.assertEqual(self.playback.current_track, current_track)
|
||||
|
||||
@populate_tracklist
|
||||
def test_on_tracklist_change_when_stopped(self):
|
||||
self.tracklist.append([self.tracks[2]])
|
||||
self.tracklist.add([self.tracks[2]])
|
||||
self.assertEqual(self.playback.state, PlaybackState.STOPPED)
|
||||
self.assertEqual(self.playback.current_track, None)
|
||||
|
||||
@ -553,7 +553,7 @@ class PlaybackControllerTest(object):
|
||||
self.playback.play()
|
||||
self.playback.pause()
|
||||
current_track = self.playback.current_track
|
||||
self.tracklist.append([self.tracks[2]])
|
||||
self.tracklist.add([self.tracks[2]])
|
||||
self.assertEqual(self.playback.state, PlaybackState.PAUSED)
|
||||
self.assertEqual(self.playback.current_track, current_track)
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@ class TracklistControllerTest(object):
|
||||
def test_length(self):
|
||||
self.assertEqual(0, len(self.controller.tl_tracks))
|
||||
self.assertEqual(0, self.controller.length)
|
||||
self.controller.append(self.tracks)
|
||||
self.controller.add(self.tracks)
|
||||
self.assertEqual(3, len(self.controller.tl_tracks))
|
||||
self.assertEqual(3, self.controller.length)
|
||||
|
||||
@ -72,12 +72,12 @@ class TracklistControllerTest(object):
|
||||
|
||||
def test_filter_by_uri_returns_single_match(self):
|
||||
track = Track(uri='a')
|
||||
self.controller.append([Track(uri='z'), track, Track(uri='y')])
|
||||
self.controller.add([Track(uri='z'), track, Track(uri='y')])
|
||||
self.assertEqual(track, self.controller.filter(uri='a')[0].track)
|
||||
|
||||
def test_filter_by_uri_returns_multiple_matches(self):
|
||||
track = Track(uri='a')
|
||||
self.controller.append([Track(uri='z'), track, track])
|
||||
self.controller.add([Track(uri='z'), track, track])
|
||||
tl_tracks = self.controller.filter(uri='a')
|
||||
self.assertEqual(track, tl_tracks[0].track)
|
||||
self.assertEqual(track, tl_tracks[1].track)
|
||||
@ -91,7 +91,7 @@ class TracklistControllerTest(object):
|
||||
track1 = Track(uri='a', name='x')
|
||||
track2 = Track(uri='b', name='x')
|
||||
track3 = Track(uri='b', name='y')
|
||||
self.controller.append([track1, track2, track3])
|
||||
self.controller.add([track1, track2, track3])
|
||||
self.assertEqual(
|
||||
track1, self.controller.filter(uri='a', name='x')[0].track)
|
||||
self.assertEqual(
|
||||
@ -103,7 +103,7 @@ class TracklistControllerTest(object):
|
||||
track1 = Track()
|
||||
track2 = Track(uri='b')
|
||||
track3 = Track()
|
||||
self.controller.append([track1, track2, track3])
|
||||
self.controller.add([track1, track2, track3])
|
||||
self.assertEqual(track2, self.controller.filter(uri='b')[0].track)
|
||||
|
||||
@populate_tracklist
|
||||
@ -122,42 +122,42 @@ class TracklistControllerTest(object):
|
||||
self.controller.clear()
|
||||
self.assertEqual(self.playback.state, PlaybackState.STOPPED)
|
||||
|
||||
def test_append_appends_to_the_tracklist(self):
|
||||
self.controller.append([Track(uri='a'), Track(uri='b')])
|
||||
def test_add_appends_to_the_tracklist(self):
|
||||
self.controller.add([Track(uri='a'), Track(uri='b')])
|
||||
self.assertEqual(len(self.controller.tracks), 2)
|
||||
self.controller.append([Track(uri='c'), Track(uri='d')])
|
||||
self.controller.add([Track(uri='c'), Track(uri='d')])
|
||||
self.assertEqual(len(self.controller.tracks), 4)
|
||||
self.assertEqual(self.controller.tracks[0].uri, 'a')
|
||||
self.assertEqual(self.controller.tracks[1].uri, 'b')
|
||||
self.assertEqual(self.controller.tracks[2].uri, 'c')
|
||||
self.assertEqual(self.controller.tracks[3].uri, 'd')
|
||||
|
||||
def test_append_does_not_reset_version(self):
|
||||
def test_add_does_not_reset_version(self):
|
||||
version = self.controller.version
|
||||
self.controller.append([])
|
||||
self.controller.add([])
|
||||
self.assertEqual(self.controller.version, version)
|
||||
|
||||
@populate_tracklist
|
||||
def test_append_preserves_playing_state(self):
|
||||
def test_add_preserves_playing_state(self):
|
||||
self.playback.play()
|
||||
track = self.playback.current_track
|
||||
self.controller.append(self.controller.tracks[1:2])
|
||||
self.controller.add(self.controller.tracks[1:2])
|
||||
self.assertEqual(self.playback.state, PlaybackState.PLAYING)
|
||||
self.assertEqual(self.playback.current_track, track)
|
||||
|
||||
@populate_tracklist
|
||||
def test_append_preserves_stopped_state(self):
|
||||
self.controller.append(self.controller.tracks[1:2])
|
||||
def test_add_preserves_stopped_state(self):
|
||||
self.controller.add(self.controller.tracks[1:2])
|
||||
self.assertEqual(self.playback.state, PlaybackState.STOPPED)
|
||||
self.assertEqual(self.playback.current_track, None)
|
||||
|
||||
@populate_tracklist
|
||||
def test_append_returns_the_tl_tracks_that_was_added(self):
|
||||
tl_tracks = self.controller.append(self.controller.tracks[1:2])
|
||||
def test_add_returns_the_tl_tracks_that_was_added(self):
|
||||
tl_tracks = self.controller.add(self.controller.tracks[1:2])
|
||||
self.assertEqual(tl_tracks[0].track, self.controller.tracks[1])
|
||||
|
||||
def test_index_returns_index_of_track(self):
|
||||
tl_tracks = self.controller.append(self.tracks)
|
||||
tl_tracks = self.controller.add(self.tracks)
|
||||
self.assertEquals(0, self.controller.index(tl_tracks[0]))
|
||||
self.assertEquals(1, self.controller.index(tl_tracks[1]))
|
||||
self.assertEquals(2, self.controller.index(tl_tracks[2]))
|
||||
@ -281,12 +281,12 @@ class TracklistControllerTest(object):
|
||||
self.assertEqual(0, len(self.controller.slice(7, 8)))
|
||||
self.assertEqual(0, len(self.controller.slice(-1, 1)))
|
||||
|
||||
def test_version_does_not_change_when_appending_nothing(self):
|
||||
def test_version_does_not_change_when_adding_nothing(self):
|
||||
version = self.controller.version
|
||||
self.controller.append([])
|
||||
self.controller.add([])
|
||||
self.assertEquals(version, self.controller.version)
|
||||
|
||||
def test_version_increases_when_appending_something(self):
|
||||
def test_version_increases_when_adding_something(self):
|
||||
version = self.controller.version
|
||||
self.controller.append([Track()])
|
||||
self.controller.add([Track()])
|
||||
self.assertLess(version, self.controller.version)
|
||||
|
||||
@ -65,32 +65,27 @@ class BackendEventsTest(unittest.TestCase):
|
||||
self.core.tracklist.add(Track(uri='dummy:a')).get()
|
||||
self.assertEqual(send.call_args[0][0], 'tracklist_changed')
|
||||
|
||||
def test_tracklist_append_sends_tracklist_changed_event(self, send):
|
||||
send.reset_mock()
|
||||
self.core.tracklist.append([Track(uri='dummy:a')]).get()
|
||||
self.assertEqual(send.call_args[0][0], 'tracklist_changed')
|
||||
|
||||
def test_tracklist_clear_sends_tracklist_changed_event(self, send):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')]).get()
|
||||
self.core.tracklist.add([Track(uri='dummy:a')]).get()
|
||||
send.reset_mock()
|
||||
self.core.tracklist.clear().get()
|
||||
self.assertEqual(send.call_args[0][0], 'tracklist_changed')
|
||||
|
||||
def test_tracklist_move_sends_tracklist_changed_event(self, send):
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(uri='dummy:a'), Track(uri='dummy:b')]).get()
|
||||
send.reset_mock()
|
||||
self.core.tracklist.move(0, 1, 1).get()
|
||||
self.assertEqual(send.call_args[0][0], 'tracklist_changed')
|
||||
|
||||
def test_tracklist_remove_sends_tracklist_changed_event(self, send):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')]).get()
|
||||
self.core.tracklist.add([Track(uri='dummy:a')]).get()
|
||||
send.reset_mock()
|
||||
self.core.tracklist.remove(uri='dummy:a').get()
|
||||
self.assertEqual(send.call_args[0][0], 'tracklist_changed')
|
||||
|
||||
def test_tracklist_shuffle_sends_tracklist_changed_event(self, send):
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(uri='dummy:a'), Track(uri='dummy:b')]).get()
|
||||
send.reset_mock()
|
||||
self.core.tracklist.shuffle().get()
|
||||
|
||||
@ -35,7 +35,7 @@ class CorePlaybackTest(unittest.TestCase):
|
||||
|
||||
self.core = Core(audio=None, backends=[
|
||||
self.backend1, self.backend2, self.backend3])
|
||||
self.core.tracklist.append(self.tracks)
|
||||
self.core.tracklist.add(self.tracks)
|
||||
|
||||
self.tl_tracks = self.core.tracklist.tl_tracks
|
||||
self.unplayable_tl_track = self.tl_tracks[2]
|
||||
|
||||
@ -10,7 +10,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
needle = Track(uri='dummy://foo')
|
||||
self.backend.library.dummy_library = [
|
||||
Track(), Track(), needle, Track()]
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(), Track(), Track(), Track(), Track()])
|
||||
self.assertEqual(len(self.core.tracklist.tracks.get()), 5)
|
||||
|
||||
@ -33,7 +33,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
needle = Track(uri='dummy://foo')
|
||||
self.backend.library.dummy_library = [
|
||||
Track(), Track(), needle, Track()]
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(), Track(), Track(), Track(), Track()])
|
||||
self.assertEqual(len(self.core.tracklist.tracks.get()), 5)
|
||||
|
||||
@ -52,7 +52,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
needle = Track(uri='dummy://foo')
|
||||
self.backend.library.dummy_library = [
|
||||
Track(), Track(), needle, Track()]
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(), Track(), Track(), Track(), Track()])
|
||||
self.assertEqual(len(self.core.tracklist.tracks.get()), 5)
|
||||
|
||||
@ -67,7 +67,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
needle = Track(uri='dummy://foo')
|
||||
self.backend.library.dummy_library = [
|
||||
Track(), Track(), needle, Track()]
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(), Track(), Track(), Track(), Track()])
|
||||
self.assertEqual(len(self.core.tracklist.tracks.get()), 5)
|
||||
|
||||
@ -79,7 +79,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertEqualResponse('ACK [50@0] {addid} No such song')
|
||||
|
||||
def test_clear(self):
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(), Track(), Track(), Track(), Track()])
|
||||
self.assertEqual(len(self.core.tracklist.tracks.get()), 5)
|
||||
|
||||
@ -89,7 +89,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_delete_songpos(self):
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(), Track(), Track(), Track(), Track()])
|
||||
self.assertEqual(len(self.core.tracklist.tracks.get()), 5)
|
||||
|
||||
@ -99,7 +99,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_delete_songpos_out_of_bounds(self):
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(), Track(), Track(), Track(), Track()])
|
||||
self.assertEqual(len(self.core.tracklist.tracks.get()), 5)
|
||||
|
||||
@ -108,7 +108,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertEqualResponse('ACK [2@0] {delete} Bad song index')
|
||||
|
||||
def test_delete_open_range(self):
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(), Track(), Track(), Track(), Track()])
|
||||
self.assertEqual(len(self.core.tracklist.tracks.get()), 5)
|
||||
|
||||
@ -117,7 +117,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_delete_closed_range(self):
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(), Track(), Track(), Track(), Track()])
|
||||
self.assertEqual(len(self.core.tracklist.tracks.get()), 5)
|
||||
|
||||
@ -126,7 +126,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_delete_range_out_of_bounds(self):
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(), Track(), Track(), Track(), Track()])
|
||||
self.assertEqual(len(self.core.tracklist.tracks.get()), 5)
|
||||
|
||||
@ -135,7 +135,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertEqualResponse('ACK [2@0] {delete} Bad song index')
|
||||
|
||||
def test_deleteid(self):
|
||||
self.core.tracklist.append([Track(), Track()])
|
||||
self.core.tracklist.add([Track(), Track()])
|
||||
self.assertEqual(len(self.core.tracklist.tracks.get()), 2)
|
||||
|
||||
self.sendRequest('deleteid "1"')
|
||||
@ -143,7 +143,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_deleteid_does_not_exist(self):
|
||||
self.core.tracklist.append([Track(), Track()])
|
||||
self.core.tracklist.add([Track(), Track()])
|
||||
self.assertEqual(len(self.core.tracklist.tracks.get()), 2)
|
||||
|
||||
self.sendRequest('deleteid "12345"')
|
||||
@ -151,7 +151,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertEqualResponse('ACK [50@0] {deleteid} No such song')
|
||||
|
||||
def test_move_songpos(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(name='a'), Track(name='b'), Track(name='c'),
|
||||
Track(name='d'), Track(name='e'), Track(name='f'),
|
||||
])
|
||||
@ -167,7 +167,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_move_open_range(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(name='a'), Track(name='b'), Track(name='c'),
|
||||
Track(name='d'), Track(name='e'), Track(name='f'),
|
||||
])
|
||||
@ -183,7 +183,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_move_closed_range(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(name='a'), Track(name='b'), Track(name='c'),
|
||||
Track(name='d'), Track(name='e'), Track(name='f'),
|
||||
])
|
||||
@ -199,7 +199,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_moveid(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(name='a'), Track(name='b'), Track(name='c'),
|
||||
Track(name='d'), Track(name='e'), Track(name='f'),
|
||||
])
|
||||
@ -237,8 +237,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertEqualResponse('OK')
|
||||
|
||||
def test_playlistfind_by_filename_in_tracklist(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='file:///exists')])
|
||||
self.core.tracklist.add([Track(uri='file:///exists')])
|
||||
|
||||
self.sendRequest('playlistfind filename "file:///exists"')
|
||||
self.assertInResponse('file: file:///exists')
|
||||
@ -247,7 +246,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_playlistid_without_songid(self):
|
||||
self.core.tracklist.append([Track(name='a'), Track(name='b')])
|
||||
self.core.tracklist.add([Track(name='a'), Track(name='b')])
|
||||
|
||||
self.sendRequest('playlistid')
|
||||
self.assertInResponse('Title: a')
|
||||
@ -255,7 +254,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_playlistid_with_songid(self):
|
||||
self.core.tracklist.append([Track(name='a'), Track(name='b')])
|
||||
self.core.tracklist.add([Track(name='a'), Track(name='b')])
|
||||
|
||||
self.sendRequest('playlistid "1"')
|
||||
self.assertNotInResponse('Title: a')
|
||||
@ -265,13 +264,13 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_playlistid_with_not_existing_songid_fails(self):
|
||||
self.core.tracklist.append([Track(name='a'), Track(name='b')])
|
||||
self.core.tracklist.add([Track(name='a'), Track(name='b')])
|
||||
|
||||
self.sendRequest('playlistid "25"')
|
||||
self.assertEqualResponse('ACK [50@0] {playlistid} No such song')
|
||||
|
||||
def test_playlistinfo_without_songpos_or_range(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(name='a'), Track(name='b'), Track(name='c'),
|
||||
Track(name='d'), Track(name='e'), Track(name='f'),
|
||||
])
|
||||
@ -294,7 +293,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
def test_playlistinfo_with_songpos(self):
|
||||
# Make the track's CPID not match the playlist position
|
||||
self.core.tracklist.tlid = 17
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(name='a'), Track(name='b'), Track(name='c'),
|
||||
Track(name='d'), Track(name='e'), Track(name='f'),
|
||||
])
|
||||
@ -320,7 +319,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertEqual(response1, response2)
|
||||
|
||||
def test_playlistinfo_with_open_range(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(name='a'), Track(name='b'), Track(name='c'),
|
||||
Track(name='d'), Track(name='e'), Track(name='f'),
|
||||
])
|
||||
@ -341,7 +340,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_playlistinfo_with_closed_range(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(name='a'), Track(name='b'), Track(name='c'),
|
||||
Track(name='d'), Track(name='e'), Track(name='f'),
|
||||
])
|
||||
@ -372,7 +371,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertEqualResponse('ACK [0@0] {} Not implemented')
|
||||
|
||||
def test_plchanges_with_lower_version_returns_changes(self):
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(name='a'), Track(name='b'), Track(name='c')])
|
||||
|
||||
self.sendRequest('plchanges "0"')
|
||||
@ -382,7 +381,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_plchanges_with_equal_version_returns_nothing(self):
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(name='a'), Track(name='b'), Track(name='c')])
|
||||
|
||||
self.assertEqual(self.core.tracklist.version.get(), 1)
|
||||
@ -393,7 +392,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_plchanges_with_greater_version_returns_nothing(self):
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(name='a'), Track(name='b'), Track(name='c')])
|
||||
|
||||
self.assertEqual(self.core.tracklist.version.get(), 1)
|
||||
@ -404,7 +403,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_plchanges_with_minus_one_returns_entire_playlist(self):
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(name='a'), Track(name='b'), Track(name='c')])
|
||||
|
||||
self.sendRequest('plchanges "-1"')
|
||||
@ -414,7 +413,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_plchanges_without_quotes_works(self):
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(name='a'), Track(name='b'), Track(name='c')])
|
||||
|
||||
self.sendRequest('plchanges 0')
|
||||
@ -424,7 +423,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_plchangesposid(self):
|
||||
self.core.tracklist.append([Track(), Track(), Track()])
|
||||
self.core.tracklist.add([Track(), Track(), Track()])
|
||||
|
||||
self.sendRequest('plchangesposid "0"')
|
||||
tl_tracks = self.core.tracklist.tl_tracks.get()
|
||||
@ -437,7 +436,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_shuffle_without_range(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(name='a'), Track(name='b'), Track(name='c'),
|
||||
Track(name='d'), Track(name='e'), Track(name='f'),
|
||||
])
|
||||
@ -448,7 +447,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_shuffle_with_open_range(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(name='a'), Track(name='b'), Track(name='c'),
|
||||
Track(name='d'), Track(name='e'), Track(name='f'),
|
||||
])
|
||||
@ -464,7 +463,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_shuffle_with_closed_range(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(name='a'), Track(name='b'), Track(name='c'),
|
||||
Track(name='d'), Track(name='e'), Track(name='f'),
|
||||
])
|
||||
@ -480,7 +479,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_swap(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(name='a'), Track(name='b'), Track(name='c'),
|
||||
Track(name='d'), Track(name='e'), Track(name='f'),
|
||||
])
|
||||
@ -496,7 +495,7 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_swapid(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(name='a'), Track(name='b'), Track(name='c'),
|
||||
Track(name='d'), Track(name='e'), Track(name='f'),
|
||||
])
|
||||
@ -512,13 +511,13 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_swapid_with_first_id_unknown_should_ack(self):
|
||||
self.core.tracklist.append([Track()])
|
||||
self.core.tracklist.add([Track()])
|
||||
self.sendRequest('swapid "0" "4"')
|
||||
self.assertEqualResponse(
|
||||
'ACK [50@0] {swapid} No such song')
|
||||
|
||||
def test_swapid_with_second_id_unknown_should_ack(self):
|
||||
self.core.tracklist.append([Track()])
|
||||
self.core.tracklist.add([Track()])
|
||||
self.sendRequest('swapid "4" "0"')
|
||||
self.assertEqualResponse(
|
||||
'ACK [50@0] {swapid} No such song')
|
||||
|
||||
@ -168,7 +168,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_pause_off(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
|
||||
self.sendRequest('play "0"')
|
||||
self.sendRequest('pause "1"')
|
||||
@ -177,7 +177,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_pause_on(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
|
||||
self.sendRequest('play "0"')
|
||||
self.sendRequest('pause "1"')
|
||||
@ -185,7 +185,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_pause_toggle(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
|
||||
self.sendRequest('play "0"')
|
||||
self.assertEqual(PLAYING, self.core.playback.state.get())
|
||||
@ -200,28 +200,28 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_play_without_pos(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
|
||||
self.sendRequest('play')
|
||||
self.assertEqual(PLAYING, self.core.playback.state.get())
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_play_with_pos(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
|
||||
self.sendRequest('play "0"')
|
||||
self.assertEqual(PLAYING, self.core.playback.state.get())
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_play_with_pos_without_quotes(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
|
||||
self.sendRequest('play 0')
|
||||
self.assertEqual(PLAYING, self.core.playback.state.get())
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_play_with_pos_out_of_bounds(self):
|
||||
self.core.tracklist.append([])
|
||||
self.core.tracklist.add([])
|
||||
|
||||
self.sendRequest('play "0"')
|
||||
self.assertEqual(STOPPED, self.core.playback.state.get())
|
||||
@ -229,10 +229,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
|
||||
def test_play_minus_one_plays_first_in_playlist_if_no_current_track(self):
|
||||
self.assertEqual(self.core.playback.current_track.get(), None)
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'),
|
||||
Track(uri='dummy:b'),
|
||||
])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
|
||||
self.sendRequest('play "-1"')
|
||||
self.assertEqual(PLAYING, self.core.playback.state.get())
|
||||
@ -241,10 +238,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_play_minus_one_plays_current_track_if_current_track_is_set(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'),
|
||||
Track(uri='dummy:b'),
|
||||
])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.assertEqual(self.core.playback.current_track.get(), None)
|
||||
self.core.playback.play()
|
||||
self.core.playback.next()
|
||||
@ -266,8 +260,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_play_minus_is_ignored_if_playing(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.seek(30000)
|
||||
self.assertGreaterEqual(
|
||||
self.core.playback.time_position.get(), 30000)
|
||||
@ -280,8 +273,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_play_minus_one_resumes_if_paused(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.seek(30000)
|
||||
self.assertGreaterEqual(
|
||||
self.core.playback.time_position.get(), 30000)
|
||||
@ -296,14 +288,14 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_playid(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
|
||||
self.sendRequest('playid "0"')
|
||||
self.assertEqual(PLAYING, self.core.playback.state.get())
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_playid_without_quotes(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
|
||||
self.sendRequest('playid 0')
|
||||
self.assertEqual(PLAYING, self.core.playback.state.get())
|
||||
@ -311,10 +303,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
|
||||
def test_playid_minus_1_plays_first_in_playlist_if_no_current_track(self):
|
||||
self.assertEqual(self.core.playback.current_track.get(), None)
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'),
|
||||
Track(uri='dummy:b'),
|
||||
])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
|
||||
self.sendRequest('playid "-1"')
|
||||
self.assertEqual(PLAYING, self.core.playback.state.get())
|
||||
@ -323,10 +312,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_playid_minus_1_plays_current_track_if_current_track_is_set(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'),
|
||||
Track(uri='dummy:b'),
|
||||
])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.assertEqual(self.core.playback.current_track.get(), None)
|
||||
self.core.playback.play()
|
||||
self.core.playback.next()
|
||||
@ -348,7 +334,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_playid_minus_is_ignored_if_playing(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.seek(30000)
|
||||
self.assertGreaterEqual(
|
||||
self.core.playback.time_position.get(), 30000)
|
||||
@ -361,7 +347,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_playid_minus_one_resumes_if_paused(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.seek(30000)
|
||||
self.assertGreaterEqual(
|
||||
self.core.playback.time_position.get(), 30000)
|
||||
@ -376,7 +362,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_playid_which_does_not_exist(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
|
||||
self.sendRequest('playid "12345"')
|
||||
self.assertInResponse('ACK [50@0] {playid} No such song')
|
||||
@ -386,7 +372,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_seek(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
|
||||
self.sendRequest('seek "0"')
|
||||
self.sendRequest('seek "0" "30"')
|
||||
@ -395,7 +381,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
|
||||
def test_seek_with_songpos(self):
|
||||
seek_track = Track(uri='dummy:b', length=40000)
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(uri='dummy:a', length=40000), seek_track])
|
||||
|
||||
self.sendRequest('seek "1" "30"')
|
||||
@ -403,7 +389,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_seek_without_quotes(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
|
||||
self.sendRequest('seek 0')
|
||||
self.sendRequest('seek 0 30')
|
||||
@ -412,7 +398,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_seekid(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.sendRequest('seekid "0" "30"')
|
||||
self.assertGreaterEqual(
|
||||
self.core.playback.time_position.get(), 30000)
|
||||
@ -420,7 +406,7 @@ class PlaybackControlHandlerTest(protocol.BaseTestCase):
|
||||
|
||||
def test_seekid_with_tlid(self):
|
||||
seek_track = Track(uri='dummy:b', length=40000)
|
||||
self.core.tracklist.append(
|
||||
self.core.tracklist.add(
|
||||
[Track(uri='dummy:a', length=40000), seek_track])
|
||||
|
||||
self.sendRequest('seekid "1" "30"')
|
||||
|
||||
@ -18,7 +18,7 @@ class IssueGH17RegressionTest(protocol.BaseTestCase):
|
||||
- Press next until you get to the unplayable track
|
||||
"""
|
||||
def test(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(uri='dummy:a'),
|
||||
Track(uri='dummy:b'),
|
||||
Track(uri='dummy:error'),
|
||||
@ -59,7 +59,7 @@ class IssueGH18RegressionTest(protocol.BaseTestCase):
|
||||
"""
|
||||
|
||||
def test(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b'), Track(uri='dummy:c'),
|
||||
Track(uri='dummy:d'), Track(uri='dummy:e'), Track(uri='dummy:f')])
|
||||
random.seed(1)
|
||||
@ -95,7 +95,7 @@ class IssueGH22RegressionTest(protocol.BaseTestCase):
|
||||
"""
|
||||
|
||||
def test(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b'), Track(uri='dummy:c'),
|
||||
Track(uri='dummy:d'), Track(uri='dummy:e'), Track(uri='dummy:f')])
|
||||
random.seed(1)
|
||||
@ -124,7 +124,7 @@ class IssueGH69RegressionTest(protocol.BaseTestCase):
|
||||
|
||||
def test(self):
|
||||
self.core.playlists.create('foo')
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b'), Track(uri='dummy:c'),
|
||||
Track(uri='dummy:d'), Track(uri='dummy:e'), Track(uri='dummy:f')])
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ class StatusHandlerTest(protocol.BaseTestCase):
|
||||
|
||||
def test_currentsong(self):
|
||||
track = Track()
|
||||
self.core.tracklist.append([track])
|
||||
self.core.tracklist.add([track])
|
||||
self.core.playback.play()
|
||||
self.sendRequest('currentsong')
|
||||
self.assertInResponse('file: ')
|
||||
|
||||
@ -65,7 +65,7 @@ class PlaylistsHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse('OK')
|
||||
|
||||
def test_load_known_playlist_appends_to_tracklist(self):
|
||||
self.core.tracklist.append([Track(uri='a'), Track(uri='b')])
|
||||
self.core.tracklist.add([Track(uri='a'), Track(uri='b')])
|
||||
self.assertEqual(len(self.core.tracklist.tracks.get()), 2)
|
||||
self.backend.playlists.playlists = [
|
||||
Playlist(name='A-list', tracks=[
|
||||
|
||||
@ -131,21 +131,21 @@ class StatusHandlerTest(unittest.TestCase):
|
||||
self.assertEqual(result['state'], 'pause')
|
||||
|
||||
def test_status_method_when_playlist_loaded_contains_song(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
self.core.playback.play()
|
||||
result = dict(status.status(self.context))
|
||||
self.assertIn('song', result)
|
||||
self.assertGreaterEqual(int(result['song']), 0)
|
||||
|
||||
def test_status_method_when_playlist_loaded_contains_tlid_as_songid(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
self.core.playback.play()
|
||||
result = dict(status.status(self.context))
|
||||
self.assertIn('songid', result)
|
||||
self.assertEqual(int(result['songid']), 0)
|
||||
|
||||
def test_status_method_when_playing_contains_time_with_no_length(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=None)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=None)])
|
||||
self.core.playback.play()
|
||||
result = dict(status.status(self.context))
|
||||
self.assertIn('time', result)
|
||||
@ -155,7 +155,7 @@ class StatusHandlerTest(unittest.TestCase):
|
||||
self.assertLessEqual(position, total)
|
||||
|
||||
def test_status_method_when_playing_contains_time_with_length(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=10000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=10000)])
|
||||
self.core.playback.play()
|
||||
result = dict(status.status(self.context))
|
||||
self.assertIn('time', result)
|
||||
@ -165,7 +165,7 @@ class StatusHandlerTest(unittest.TestCase):
|
||||
self.assertLessEqual(position, total)
|
||||
|
||||
def test_status_method_when_playing_contains_elapsed(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=60000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=60000)])
|
||||
self.core.playback.play()
|
||||
self.core.playback.pause()
|
||||
self.core.playback.seek(59123)
|
||||
@ -174,7 +174,7 @@ class StatusHandlerTest(unittest.TestCase):
|
||||
self.assertEqual(result['elapsed'], '59.123')
|
||||
|
||||
def test_status_method_when_starting_playing_contains_elapsed_zero(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=10000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=10000)])
|
||||
self.core.playback.play()
|
||||
self.core.playback.pause()
|
||||
result = dict(status.status(self.context))
|
||||
@ -182,7 +182,7 @@ class StatusHandlerTest(unittest.TestCase):
|
||||
self.assertEqual(result['elapsed'], '0.000')
|
||||
|
||||
def test_status_method_when_playing_contains_bitrate(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', bitrate=320)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', bitrate=320)])
|
||||
self.core.playback.play()
|
||||
result = dict(status.status(self.context))
|
||||
self.assertIn('bitrate', result)
|
||||
|
||||
@ -101,16 +101,14 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
|
||||
def test_set_rate_is_ignored_if_can_control_is_false(self):
|
||||
self.mpris.get_CanControl = lambda *_: False
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
self.mpris.Set(objects.PLAYER_IFACE, 'Rate', 0)
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
|
||||
def test_set_rate_to_zero_pauses_playback(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
self.mpris.Set(objects.PLAYER_IFACE, 'Rate', 0)
|
||||
@ -150,7 +148,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertEqual(result['mpris:trackid'], '')
|
||||
|
||||
def test_get_metadata_has_trackid_based_on_tlid(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
self.core.playback.play()
|
||||
(tlid, track) = self.core.playback.current_tl_track.get()
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'Metadata')
|
||||
@ -159,28 +157,28 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
result['mpris:trackid'], '/com/mopidy/track/%d' % tlid)
|
||||
|
||||
def test_get_metadata_has_track_length(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.play()
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'Metadata')
|
||||
self.assertIn('mpris:length', result.keys())
|
||||
self.assertEqual(result['mpris:length'], 40000000)
|
||||
|
||||
def test_get_metadata_has_track_uri(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
self.core.playback.play()
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'Metadata')
|
||||
self.assertIn('xesam:url', result.keys())
|
||||
self.assertEqual(result['xesam:url'], 'dummy:a')
|
||||
|
||||
def test_get_metadata_has_track_title(self):
|
||||
self.core.tracklist.append([Track(name='a')])
|
||||
self.core.tracklist.add([Track(name='a')])
|
||||
self.core.playback.play()
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'Metadata')
|
||||
self.assertIn('xesam:title', result.keys())
|
||||
self.assertEqual(result['xesam:title'], 'a')
|
||||
|
||||
def test_get_metadata_has_track_artists(self):
|
||||
self.core.tracklist.append([Track(artists=[
|
||||
self.core.tracklist.add([Track(artists=[
|
||||
Artist(name='a'), Artist(name='b'), Artist(name=None)])])
|
||||
self.core.playback.play()
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'Metadata')
|
||||
@ -188,14 +186,14 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertEqual(result['xesam:artist'], ['a', 'b'])
|
||||
|
||||
def test_get_metadata_has_track_album(self):
|
||||
self.core.tracklist.append([Track(album=Album(name='a'))])
|
||||
self.core.tracklist.add([Track(album=Album(name='a'))])
|
||||
self.core.playback.play()
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'Metadata')
|
||||
self.assertIn('xesam:album', result.keys())
|
||||
self.assertEqual(result['xesam:album'], 'a')
|
||||
|
||||
def test_get_metadata_has_track_album_artists(self):
|
||||
self.core.tracklist.append([Track(album=Album(artists=[
|
||||
self.core.tracklist.add([Track(album=Album(artists=[
|
||||
Artist(name='a'), Artist(name='b'), Artist(name=None)]))])
|
||||
self.core.playback.play()
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'Metadata')
|
||||
@ -203,7 +201,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertEqual(result['xesam:albumArtist'], ['a', 'b'])
|
||||
|
||||
def test_get_metadata_has_track_number_in_album(self):
|
||||
self.core.tracklist.append([Track(track_no=7)])
|
||||
self.core.tracklist.add([Track(track_no=7)])
|
||||
self.core.playback.play()
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'Metadata')
|
||||
self.assertIn('xesam:trackNumber', result.keys())
|
||||
@ -246,7 +244,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertEqual(self.core.playback.volume.get(), 10)
|
||||
|
||||
def test_get_position_returns_time_position_in_microseconds(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.play()
|
||||
self.core.playback.seek(10000)
|
||||
result_in_microseconds = self.mpris.Get(
|
||||
@ -270,15 +268,14 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
|
||||
def test_can_go_next_is_true_if_can_control_and_other_next_track(self):
|
||||
self.mpris.get_CanControl = lambda *_: True
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'CanGoNext')
|
||||
self.assertTrue(result)
|
||||
|
||||
def test_can_go_next_is_false_if_next_track_is_the_same(self):
|
||||
self.mpris.get_CanControl = lambda *_: True
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
self.core.playback.repeat = True
|
||||
self.core.playback.play()
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'CanGoNext')
|
||||
@ -286,16 +283,14 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
|
||||
def test_can_go_next_is_false_if_can_control_is_false(self):
|
||||
self.mpris.get_CanControl = lambda *_: False
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'CanGoNext')
|
||||
self.assertFalse(result)
|
||||
|
||||
def test_can_go_previous_is_true_if_can_control_and_previous_track(self):
|
||||
self.mpris.get_CanControl = lambda *_: True
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.core.playback.next()
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'CanGoPrevious')
|
||||
@ -303,7 +298,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
|
||||
def test_can_go_previous_is_false_if_previous_track_is_the_same(self):
|
||||
self.mpris.get_CanControl = lambda *_: True
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
self.core.playback.repeat = True
|
||||
self.core.playback.play()
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'CanGoPrevious')
|
||||
@ -311,8 +306,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
|
||||
def test_can_go_previous_is_false_if_can_control_is_false(self):
|
||||
self.mpris.get_CanControl = lambda *_: False
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.core.playback.next()
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'CanGoPrevious')
|
||||
@ -320,7 +314,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
|
||||
def test_can_play_is_true_if_can_control_and_current_track(self):
|
||||
self.mpris.get_CanControl = lambda *_: True
|
||||
self.core.tracklist.append([Track(uri='dummy:a')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a')])
|
||||
self.core.playback.play()
|
||||
self.assertTrue(self.core.playback.current_track.get())
|
||||
result = self.mpris.Get(objects.PLAYER_IFACE, 'CanPlay')
|
||||
@ -363,16 +357,14 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
|
||||
def test_next_is_ignored_if_can_go_next_is_false(self):
|
||||
self.mpris.get_CanGoNext = lambda *_: False
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.assertEqual(self.core.playback.current_track.get().uri, 'dummy:a')
|
||||
self.mpris.Next()
|
||||
self.assertEqual(self.core.playback.current_track.get().uri, 'dummy:a')
|
||||
|
||||
def test_next_when_playing_skips_to_next_track_and_keep_playing(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.assertEqual(self.core.playback.current_track.get().uri, 'dummy:a')
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
@ -381,8 +373,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
|
||||
def test_next_when_at_end_of_list_should_stop_playback(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.core.playback.next()
|
||||
self.assertEqual(self.core.playback.current_track.get().uri, 'dummy:b')
|
||||
@ -391,8 +382,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertEqual(self.core.playback.state.get(), STOPPED)
|
||||
|
||||
def test_next_when_paused_should_skip_to_next_track_and_stay_paused(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.core.playback.pause()
|
||||
self.assertEqual(self.core.playback.current_track.get().uri, 'dummy:a')
|
||||
@ -402,8 +392,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertEqual(self.core.playback.state.get(), PAUSED)
|
||||
|
||||
def test_next_when_stopped_skips_to_next_track_and_stay_stopped(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.core.playback.stop()
|
||||
self.assertEqual(self.core.playback.current_track.get().uri, 'dummy:a')
|
||||
@ -414,8 +403,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
|
||||
def test_previous_is_ignored_if_can_go_previous_is_false(self):
|
||||
self.mpris.get_CanGoPrevious = lambda *_: False
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.core.playback.next()
|
||||
self.assertEqual(self.core.playback.current_track.get().uri, 'dummy:b')
|
||||
@ -423,8 +411,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertEqual(self.core.playback.current_track.get().uri, 'dummy:b')
|
||||
|
||||
def test_previous_when_playing_skips_to_prev_track_and_keep_playing(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.core.playback.next()
|
||||
self.assertEqual(self.core.playback.current_track.get().uri, 'dummy:b')
|
||||
@ -434,8 +421,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
|
||||
def test_previous_when_at_start_of_list_should_stop_playback(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.assertEqual(self.core.playback.current_track.get().uri, 'dummy:a')
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
@ -443,8 +429,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertEqual(self.core.playback.state.get(), STOPPED)
|
||||
|
||||
def test_previous_when_paused_skips_to_previous_track_and_pause(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.core.playback.next()
|
||||
self.core.playback.pause()
|
||||
@ -455,8 +440,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertEqual(self.core.playback.state.get(), PAUSED)
|
||||
|
||||
def test_previous_when_stopped_skips_to_previous_track_and_stops(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.core.playback.next()
|
||||
self.core.playback.stop()
|
||||
@ -468,24 +452,21 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
|
||||
def test_pause_is_ignored_if_can_pause_is_false(self):
|
||||
self.mpris.get_CanPause = lambda *_: False
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
self.mpris.Pause()
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
|
||||
def test_pause_when_playing_should_pause_playback(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
self.mpris.Pause()
|
||||
self.assertEqual(self.core.playback.state.get(), PAUSED)
|
||||
|
||||
def test_pause_when_paused_has_no_effect(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.core.playback.pause()
|
||||
self.assertEqual(self.core.playback.state.get(), PAUSED)
|
||||
@ -494,24 +475,21 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
|
||||
def test_playpause_is_ignored_if_can_pause_is_false(self):
|
||||
self.mpris.get_CanPause = lambda *_: False
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
self.mpris.PlayPause()
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
|
||||
def test_playpause_when_playing_should_pause_playback(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
self.mpris.PlayPause()
|
||||
self.assertEqual(self.core.playback.state.get(), PAUSED)
|
||||
|
||||
def test_playpause_when_paused_should_resume_playback(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.core.playback.pause()
|
||||
|
||||
@ -526,32 +504,28 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertGreaterEqual(after_pause, at_pause)
|
||||
|
||||
def test_playpause_when_stopped_should_start_playback(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.assertEqual(self.core.playback.state.get(), STOPPED)
|
||||
self.mpris.PlayPause()
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
|
||||
def test_stop_is_ignored_if_can_control_is_false(self):
|
||||
self.mpris.get_CanControl = lambda *_: False
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
self.mpris.Stop()
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
|
||||
def test_stop_when_playing_should_stop_playback(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
self.mpris.Stop()
|
||||
self.assertEqual(self.core.playback.state.get(), STOPPED)
|
||||
|
||||
def test_stop_when_paused_should_stop_playback(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.core.playback.pause()
|
||||
self.assertEqual(self.core.playback.state.get(), PAUSED)
|
||||
@ -560,21 +534,19 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
|
||||
def test_play_is_ignored_if_can_play_is_false(self):
|
||||
self.mpris.get_CanPlay = lambda *_: False
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.assertEqual(self.core.playback.state.get(), STOPPED)
|
||||
self.mpris.Play()
|
||||
self.assertEqual(self.core.playback.state.get(), STOPPED)
|
||||
|
||||
def test_play_when_stopped_starts_playback(self):
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.assertEqual(self.core.playback.state.get(), STOPPED)
|
||||
self.mpris.Play()
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
|
||||
def test_play_after_pause_resumes_from_same_position(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.play()
|
||||
|
||||
before_pause = self.core.playback.time_position.get()
|
||||
@ -598,7 +570,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
|
||||
def test_seek_is_ignored_if_can_seek_is_false(self):
|
||||
self.mpris.get_CanSeek = lambda *_: False
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.play()
|
||||
|
||||
before_seek = self.core.playback.time_position.get()
|
||||
@ -614,7 +586,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertLess(after_seek, before_seek + milliseconds_to_seek)
|
||||
|
||||
def test_seek_seeks_given_microseconds_forward_in_the_current_track(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.play()
|
||||
|
||||
before_seek = self.core.playback.time_position.get()
|
||||
@ -631,7 +603,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertGreaterEqual(after_seek, before_seek + milliseconds_to_seek)
|
||||
|
||||
def test_seek_seeks_given_microseconds_backward_if_negative(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.play()
|
||||
self.core.playback.seek(20000)
|
||||
|
||||
@ -650,7 +622,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertLess(after_seek, before_seek)
|
||||
|
||||
def test_seek_seeks_to_start_of_track_if_new_position_is_negative(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.play()
|
||||
self.core.playback.seek(20000)
|
||||
|
||||
@ -670,7 +642,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertGreaterEqual(after_seek, 0)
|
||||
|
||||
def test_seek_skips_to_next_track_if_new_position_gt_track_length(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(uri='dummy:a', length=40000),
|
||||
Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
@ -695,7 +667,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
|
||||
def test_set_position_is_ignored_if_can_seek_is_false(self):
|
||||
self.mpris.get_CanSeek = lambda *_: False
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.play()
|
||||
|
||||
before_set_position = self.core.playback.time_position.get()
|
||||
@ -713,7 +685,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertLess(after_set_position, position_to_set_in_millisec)
|
||||
|
||||
def test_set_position_sets_the_current_track_position_in_microsecs(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.play()
|
||||
|
||||
before_set_position = self.core.playback.time_position.get()
|
||||
@ -734,7 +706,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
after_set_position, position_to_set_in_millisec)
|
||||
|
||||
def test_set_position_does_nothing_if_the_position_is_negative(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.play()
|
||||
self.core.playback.seek(20000)
|
||||
|
||||
@ -757,7 +729,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertEqual(self.core.playback.current_track.get().uri, 'dummy:a')
|
||||
|
||||
def test_set_position_does_nothing_if_position_is_gt_track_length(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.play()
|
||||
self.core.playback.seek(20000)
|
||||
|
||||
@ -780,7 +752,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
self.assertEqual(self.core.playback.current_track.get().uri, 'dummy:a')
|
||||
|
||||
def test_set_position_is_noop_if_track_id_isnt_current_track(self):
|
||||
self.core.tracklist.append([Track(uri='dummy:a', length=40000)])
|
||||
self.core.tracklist.add([Track(uri='dummy:a', length=40000)])
|
||||
self.core.playback.play()
|
||||
self.core.playback.seek(20000)
|
||||
|
||||
@ -826,8 +798,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
def test_open_uri_starts_playback_of_new_track_if_stopped(self):
|
||||
self.mpris.get_CanPlay = lambda *_: True
|
||||
self.backend.library.dummy_library = [Track(uri='dummy:/test/uri')]
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.assertEqual(self.core.playback.state.get(), STOPPED)
|
||||
|
||||
self.mpris.OpenUri('dummy:/test/uri')
|
||||
@ -839,8 +810,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
def test_open_uri_starts_playback_of_new_track_if_paused(self):
|
||||
self.mpris.get_CanPlay = lambda *_: True
|
||||
self.backend.library.dummy_library = [Track(uri='dummy:/test/uri')]
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.core.playback.pause()
|
||||
self.assertEqual(self.core.playback.state.get(), PAUSED)
|
||||
@ -855,8 +825,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
def test_open_uri_starts_playback_of_new_track_if_playing(self):
|
||||
self.mpris.get_CanPlay = lambda *_: True
|
||||
self.backend.library.dummy_library = [Track(uri='dummy:/test/uri')]
|
||||
self.core.tracklist.append([
|
||||
Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.tracklist.add([Track(uri='dummy:a'), Track(uri='dummy:b')])
|
||||
self.core.playback.play()
|
||||
self.assertEqual(self.core.playback.state.get(), PLAYING)
|
||||
self.assertEqual(self.core.playback.current_track.get().uri, 'dummy:a')
|
||||
|
||||
@ -44,7 +44,7 @@ class PlayerInterfaceTest(unittest.TestCase):
|
||||
pykka.ActorRegistry.stop_all()
|
||||
|
||||
def test_activate_playlist_appends_tracks_to_tracklist(self):
|
||||
self.core.tracklist.append([
|
||||
self.core.tracklist.add([
|
||||
Track(uri='dummy:old-a'),
|
||||
Track(uri='dummy:old-b'),
|
||||
])
|
||||
|
||||
Loading…
Reference in New Issue
Block a user