diff options
| author | Shadowghost <Ghost_of_Stone@web.de> | 2022-02-17 09:03:08 +0100 |
|---|---|---|
| committer | Shadowghost <Ghost_of_Stone@web.de> | 2022-02-18 22:19:33 +0100 |
| commit | a36e34fbd2eaf386b0aa9df1125f82c021235410 (patch) | |
| tree | 4bd9dca0c54671bac1da93126f8a4f33572498c4 /tests | |
| parent | 719b707281b078405daeea90811c2b4d7b40d624 (diff) | |
fix(external-media): implement review suggestions
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/Jellyfin.Providers.Tests/MediaInfo/AudioResolverTests.cs | 33 | ||||
| -rw-r--r-- | tests/Jellyfin.Providers.Tests/MediaInfo/SubtitleResolverTests.cs | 41 |
2 files changed, 15 insertions, 59 deletions
diff --git a/tests/Jellyfin.Providers.Tests/MediaInfo/AudioResolverTests.cs b/tests/Jellyfin.Providers.Tests/MediaInfo/AudioResolverTests.cs index d0f216eb0..69f10d670 100644 --- a/tests/Jellyfin.Providers.Tests/MediaInfo/AudioResolverTests.cs +++ b/tests/Jellyfin.Providers.Tests/MediaInfo/AudioResolverTests.cs @@ -8,7 +8,6 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Globalization; using MediaBrowser.Providers.MediaInfo; @@ -21,17 +20,11 @@ namespace Jellyfin.Providers.Tests.MediaInfo { private const string VideoDirectoryPath = "Test Data/Video"; private const string MetadataDirectoryPath = "Test Data/Metadata"; - private readonly MediaInfoResolver _audioResolver; + private readonly AudioResolver _audioResolver; public AudioResolverTests() { - var englishCultureDto = new CultureDto - { - Name = "English", - DisplayName = "English", - ThreeLetterISOLanguageNames = new[] { "eng" }, - TwoLetterISOLanguageName = "en" - }; + var englishCultureDto = new CultureDto("English", "English", "en", new[] { "eng" }); var localizationManager = new Mock<ILocalizationManager>(MockBehavior.Loose); localizationManager.Setup(lm => lm.FindLanguageInfo(It.IsRegex(@"en.*", RegexOptions.IgnoreCase))) @@ -47,11 +40,11 @@ namespace Jellyfin.Providers.Tests.MediaInfo } })); - _audioResolver = new MediaInfoResolver(localizationManager.Object, mediaEncoder.Object, new NamingOptions(), DlnaProfileType.Audio); + _audioResolver = new AudioResolver(localizationManager.Object, mediaEncoder.Object, new NamingOptions()); } [Fact] - public async void AddExternalStreams_GivenMixedFilenames_ReturnsValidSubtitles() + public async void AddExternalStreamsAsync_GivenMixedFilenames_ReturnsValidSubtitles() { var startIndex = 0; var index = startIndex; @@ -108,13 +101,7 @@ namespace Jellyfin.Providers.Tests.MediaInfo directoryService.Setup(ds => ds.GetFilePaths(It.IsRegex(@"Test Data[/\\]Metadata"), It.IsAny<bool>(), It.IsAny<bool>())) .Returns(metadataFiles); - var asyncStreams = _audioResolver.GetExternalStreamsAsync(video.Object, startIndex, directoryService.Object, false, CancellationToken.None).ConfigureAwait(false); - - var streams = new List<MediaStream>(); - await foreach (var stream in asyncStreams) - { - streams.Add(stream); - } + var streams = await _audioResolver.GetExternalStreamsAsync(video.Object, startIndex, directoryService.Object, false, CancellationToken.None); Assert.Equal(expectedResult.Length, streams.Count); for (var i = 0; i < expectedResult.Length; i++) @@ -140,7 +127,7 @@ namespace Jellyfin.Providers.Tests.MediaInfo [InlineData("My.Video.forced.English.mp3", "eng", null, true, false)] [InlineData("My.Video.default.English.mp3", "eng", null, false, true)] [InlineData("My.Video.English.forced.default.Title.mp3", "eng", "Title", true, true)] - public async void GetExternalAudioStreams_GivenSingleFile_ReturnsExpectedStream(string file, string? language, string? title, bool isForced, bool isDefault) + public async void AddExternalStreamsAsync_GivenSingleFile_ReturnsExpectedStream(string file, string? language, string? title, bool isForced, bool isDefault) { BaseItem.MediaSourceManager = Mock.Of<IMediaSourceManager>(); @@ -155,13 +142,7 @@ namespace Jellyfin.Providers.Tests.MediaInfo directoryService.Setup(ds => ds.GetFilePaths(It.IsRegex(@"Test Data[/\\]Metadata"), It.IsAny<bool>(), It.IsAny<bool>())) .Returns(Array.Empty<string>()); - var asyncStreams = _audioResolver.GetExternalStreamsAsync(video.Object, 0, directoryService.Object, false, CancellationToken.None).ConfigureAwait(false); - - var streams = new List<MediaStream>(); - await foreach (var stream in asyncStreams) - { - streams.Add(stream); - } + var streams = await _audioResolver.GetExternalStreamsAsync(video.Object, 0, directoryService.Object, false, CancellationToken.None); Assert.Single(streams); diff --git a/tests/Jellyfin.Providers.Tests/MediaInfo/SubtitleResolverTests.cs b/tests/Jellyfin.Providers.Tests/MediaInfo/SubtitleResolverTests.cs index fa261a548..2532d8926 100644 --- a/tests/Jellyfin.Providers.Tests/MediaInfo/SubtitleResolverTests.cs +++ b/tests/Jellyfin.Providers.Tests/MediaInfo/SubtitleResolverTests.cs @@ -8,7 +8,6 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Globalization; using MediaBrowser.Providers.MediaInfo; @@ -21,24 +20,12 @@ namespace Jellyfin.Providers.Tests.MediaInfo { private const string VideoDirectoryPath = "Test Data/Video"; private const string MetadataDirectoryPath = "Test Data/Metadata"; - private readonly MediaInfoResolver _subtitleResolver; + private readonly SubtitleResolver _subtitleResolver; public SubtitleResolverTests() { - var englishCultureDto = new CultureDto - { - Name = "English", - DisplayName = "English", - ThreeLetterISOLanguageNames = new[] { "eng" }, - TwoLetterISOLanguageName = "en" - }; - var frenchCultureDto = new CultureDto - { - Name = "French", - DisplayName = "French", - ThreeLetterISOLanguageNames = new[] { "fre", "fra" }, - TwoLetterISOLanguageName = "fr" - }; + var englishCultureDto = new CultureDto("English", "English", "en", new[] { "eng" }); + var frenchCultureDto = new CultureDto("French", "French", "fr", new[] { "fre", "fra" }); var localizationManager = new Mock<ILocalizationManager>(MockBehavior.Loose); localizationManager.Setup(lm => lm.FindLanguageInfo(It.IsRegex(@"en.*", RegexOptions.IgnoreCase))) @@ -56,11 +43,11 @@ namespace Jellyfin.Providers.Tests.MediaInfo } })); - _subtitleResolver = new MediaInfoResolver(localizationManager.Object, mediaEncoder.Object, new NamingOptions(), DlnaProfileType.Subtitle); + _subtitleResolver = new SubtitleResolver(localizationManager.Object, mediaEncoder.Object, new NamingOptions()); } [Fact] - public async void AddExternalSubtitleStreams_GivenMixedFilenames_ReturnsValidSubtitles() + public async void AddExternalStreamsAsync_GivenMixedFilenames_ReturnsValidSubtitles() { var startIndex = 0; var index = startIndex; @@ -127,13 +114,7 @@ namespace Jellyfin.Providers.Tests.MediaInfo directoryService.Setup(ds => ds.GetFilePaths(It.IsRegex(@"Test Data[/\\]Metadata"), It.IsAny<bool>(), It.IsAny<bool>())) .Returns(metadataFiles); - var asyncStreams = _subtitleResolver.GetExternalStreamsAsync(video.Object, startIndex, directoryService.Object, false, CancellationToken.None).ConfigureAwait(false); - - var streams = new List<MediaStream>(); - await foreach (var stream in asyncStreams) - { - streams.Add(stream); - } + var streams = await _subtitleResolver.GetExternalStreamsAsync(video.Object, startIndex, directoryService.Object, false, CancellationToken.None); Assert.Equal(expectedResult.Length, streams.Count); for (var i = 0; i < expectedResult.Length; i++) @@ -169,7 +150,7 @@ namespace Jellyfin.Providers.Tests.MediaInfo [InlineData("My.Video.Track.Label.srt", "srt", null, "Track.Label", false, false)] [InlineData("My.Video.Track Label.en.default.forced.srt", "srt", "eng", "Track Label", true, true)] [InlineData("My.Video.en.default.forced.Track Label.srt", "srt", "eng", "Track Label", true, true)] - public async void AddExternalSubtitleStreams_GivenSingleFile_ReturnsExpectedSubtitle(string file, string codec, string? language, string? title, bool isForced, bool isDefault) + public async void AddExternalStreamsAsync_GivenSingleFile_ReturnsExpectedSubtitle(string file, string codec, string? language, string? title, bool isForced, bool isDefault) { BaseItem.MediaSourceManager = Mock.Of<IMediaSourceManager>(); @@ -184,13 +165,7 @@ namespace Jellyfin.Providers.Tests.MediaInfo directoryService.Setup(ds => ds.GetFilePaths(It.IsRegex(@"Test Data[/\\]Metadata"), It.IsAny<bool>(), It.IsAny<bool>())) .Returns(Array.Empty<string>()); - var asyncStreams = _subtitleResolver.GetExternalStreamsAsync(video.Object, 0, directoryService.Object, false, CancellationToken.None).ConfigureAwait(false); - - var streams = new List<MediaStream>(); - await foreach (var stream in asyncStreams) - { - streams.Add(stream); - } + var streams = await _subtitleResolver.GetExternalStreamsAsync(video.Object, 0, directoryService.Object, false, CancellationToken.None); Assert.Single(streams); var actual = streams[0]; |
