fix: advance playback after track completion
This commit is contained in:
4 files changed
+83
-11
No files matched your search
@@ -93,6 +93,16 @@ class MusicPlayerQueueTest(unittest.IsolatedAsyncioTestCase):
|
||||
self.assertEqual(state.index, 1)
|
||||
self.assertEqual(state.current.id, "b")
|
||||
|
||||
async def test_initial_playback_callback_advances_from_zero_token(self):
|
||||
_, voice_client, state = await self._queue_abc()
|
||||
|
||||
voice_client.after(None)
|
||||
await asyncio.sleep(0.01)
|
||||
|
||||
self.assertEqual(state.index, 1)
|
||||
self.assertEqual(state.current.id, "b")
|
||||
self.assertEqual(state.queue[0].plays_left, 4)
|
||||
|
||||
async def test_loop_track_replays_same_index(self):
|
||||
player, _, state = await self._queue_abc()
|
||||
await player.play_next(GUILD, advance=True)
|
||||
@@ -118,11 +128,24 @@ class MusicPlayerQueueTest(unittest.IsolatedAsyncioTestCase):
|
||||
self.assertIsNone(state.current)
|
||||
self.assertEqual(state.index, 3)
|
||||
|
||||
async def test_queue_end_is_not_active_even_if_voice_client_lags(self):
|
||||
player, voice_client, state = await self._queue_abc()
|
||||
state.index = 2
|
||||
await player.play_next(GUILD, advance=True)
|
||||
|
||||
self.assertIsNone(state.current)
|
||||
self.assertFalse(voice_client.is_playing())
|
||||
self.assertFalse(player.is_active(GUILD))
|
||||
|
||||
await player.enqueue(GUILD, FakeTrack("new"))
|
||||
|
||||
self.assertEqual(state.current.id, "new")
|
||||
|
||||
async def test_jump_after_queue_end_plays_selected_track(self):
|
||||
player, voice_client, state = await self._queue_abc()
|
||||
state.index = 2
|
||||
await player.play_next(GUILD, advance=True)
|
||||
voice_client.playing = None
|
||||
voice_client.playing = state.queue[2]
|
||||
|
||||
await player.jump(GUILD, 0)
|
||||
|
||||
|
||||
Reference in new issue
Block a user