From 9f70d5d37937b6d7c998d9ea162cd720ecbacf8d Mon Sep 17 00:00:00 2001 From: real-zony Date: Sun, 20 Mar 2022 11:04:17 +0800 Subject: [PATCH] fix: Resolve possible NullReferenceException issues. Closes https://github.com/real-zony/ZonyLrcToolsX/issues/85 --- .../Commands/SubCommand/DownloadCommand.cs | 2 +- .../Infrastructure/Lyric/NetEaseLyricDownloaderTests.cs | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/ZonyLrcTools.Cli/Commands/SubCommand/DownloadCommand.cs b/src/ZonyLrcTools.Cli/Commands/SubCommand/DownloadCommand.cs index b9bb05b..9e98d05 100644 --- a/src/ZonyLrcTools.Cli/Commands/SubCommand/DownloadCommand.cs +++ b/src/ZonyLrcTools.Cli/Commands/SubCommand/DownloadCommand.cs @@ -103,7 +103,7 @@ namespace ZonyLrcTools.Cli.Commands.SubCommand var warpTask = new WarpTask(ParallelNumber); var warpTaskList = files.Select(file => warpTask.RunAsync(() => Task.Run(async () => await _tagLoader.LoadTagAsync(file)))); - var result = await Task.WhenAll(warpTaskList); + var result = (await Task.WhenAll(warpTaskList)).Where(m => !string.IsNullOrEmpty(m.Name) || !string.IsNullOrEmpty(m.Artist)); _logger.LogInformation($"已成功加载 {files.Count} 个音乐文件的标签信息。"); diff --git a/tests/ZonyLrcTools.Tests/Infrastructure/Lyric/NetEaseLyricDownloaderTests.cs b/tests/ZonyLrcTools.Tests/Infrastructure/Lyric/NetEaseLyricDownloaderTests.cs index 99665f7..420ac63 100644 --- a/tests/ZonyLrcTools.Tests/Infrastructure/Lyric/NetEaseLyricDownloaderTests.cs +++ b/tests/ZonyLrcTools.Tests/Infrastructure/Lyric/NetEaseLyricDownloaderTests.cs @@ -61,5 +61,13 @@ namespace ZonyLrcTools.Tests.Infrastructure.Lyric lyric.IsPruneMusic.ShouldBeFalse(); lyric.ToString().ShouldContain("你看起来失了呼吸"); } + + [Fact] + public async Task DownloaderAsync_Issue88_Test() + { + var lyric = await _lyricDownloader.DownloadAsync("茫茫草原", "姚璎格"); + + lyric.ShouldNotBeNull(); + } } } \ No newline at end of file