aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Rogers <1337joe@gmail.com>2022-04-30 15:36:09 +0200
committerJoe Rogers <1337joe@gmail.com>2022-04-30 15:36:09 +0200
commite89d1a3be5f91f868864db0d0655de0efab98e10 (patch)
tree979728a4b086ee35d7a7fd7a1a60763017e5a103
parent537fbec458627493ee324c489dacb5a9f5663d57 (diff)
Add tests for preferred audio language selection
-rw-r--r--tests/Jellyfin.Server.Implementations.Tests/Library/MediaStreamSelectorTests.cs28
1 files changed, 22 insertions, 6 deletions
diff --git a/tests/Jellyfin.Server.Implementations.Tests/Library/MediaStreamSelectorTests.cs b/tests/Jellyfin.Server.Implementations.Tests/Library/MediaStreamSelectorTests.cs
index d59f2f4e5..2b1c6e937 100644
--- a/tests/Jellyfin.Server.Implementations.Tests/Library/MediaStreamSelectorTests.cs
+++ b/tests/Jellyfin.Server.Implementations.Tests/Library/MediaStreamSelectorTests.cs
@@ -16,15 +16,31 @@ public class MediaStreamSelectorTests
}
[Theory]
- [InlineData(true)]
- [InlineData(false)]
- public void GetDefaultAudioStreamIndex_WithoutDefault_NotNull(bool preferDefaultTrack)
+ [InlineData(new string[0], false, 1)]
+ [InlineData(new string[0], true, 1)]
+ [InlineData(new[] { "eng" }, false, 2)]
+ [InlineData(new[] { "eng" }, true, 1)]
+ [InlineData(new[] { "eng", "fre" }, false, 2)]
+ [InlineData(new[] { "fre", "eng" }, false, 1)]
+ [InlineData(new[] { "eng", "fre" }, true, 1)]
+ public void GetDefaultAudioStreamIndex_PreferredLanguage_SelectsCorrect(string[] preferredLanguages, bool preferDefaultTrack, int expectedIndex)
{
- var streams = new[]
+ var streams = new MediaStream[]
{
- new MediaStream()
+ new()
+ {
+ Index = 1,
+ Language = "fre",
+ IsDefault = true
+ },
+ new()
+ {
+ Index = 2,
+ Language = "eng",
+ IsDefault = false
+ }
};
- Assert.NotNull(MediaStreamSelector.GetDefaultAudioStreamIndex(streams, Array.Empty<string>(), preferDefaultTrack));
+ Assert.Equal(expectedIndex, MediaStreamSelector.GetDefaultAudioStreamIndex(streams, preferredLanguages, preferDefaultTrack));
}
}