Fix crash when SyncPlay shuffle mode is set to sorted twice
This commit is contained in:
@@ -142,6 +142,36 @@ public class PlayQueueManagerTests
|
||||
Assert.Equal(Guid.Empty, queue.GetPlayingItemPlaylistId());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void SetShuffleMode_SortedWhileAlreadySorted_KeepsPlayingItem()
|
||||
{
|
||||
var queue = CreateQueue(3);
|
||||
queue.SetPlayingItemByIndex(1);
|
||||
var expectedItemId = queue.GetPlayingItemId();
|
||||
|
||||
queue.SetShuffleMode(GroupShuffleMode.Sorted);
|
||||
|
||||
Assert.Equal(GroupShuffleMode.Sorted, queue.ShuffleMode);
|
||||
Assert.Equal(1, queue.PlayingItemIndex);
|
||||
Assert.Equal(expectedItemId, queue.GetPlayingItemId());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void SetShuffleMode_SortedTwiceAfterShuffle_KeepsPlayingItem()
|
||||
{
|
||||
var queue = CreateQueue(5);
|
||||
queue.SetPlayingItemByIndex(2);
|
||||
var expectedItemId = queue.GetPlayingItemId();
|
||||
|
||||
queue.SetShuffleMode(GroupShuffleMode.Shuffle);
|
||||
queue.SetShuffleMode(GroupShuffleMode.Sorted);
|
||||
queue.SetShuffleMode(GroupShuffleMode.Sorted);
|
||||
|
||||
Assert.Equal(GroupShuffleMode.Sorted, queue.ShuffleMode);
|
||||
Assert.Equal(5, queue.GetPlaylist().Count);
|
||||
Assert.Equal(expectedItemId, queue.GetPlayingItemId());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void SetPlayingItemByIndex_InBounds_SetsPlayingItem()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user