Просмотр исходного кода

Merge pull request #5406 from cvium/trycleanstring-dont-die-on-me

Joshua M. Boniface 4 лет назад
Родитель
Сommit
0ef8bea125

+ 7 - 1
Emby.Naming/Video/CleanStringParser.cs

@@ -33,6 +33,12 @@ namespace Emby.Naming.Video
 
         private static bool TryClean(string name, Regex expression, out ReadOnlySpan<char> newName)
         {
+            if (string.IsNullOrEmpty(name))
+            {
+                newName = ReadOnlySpan<char>.Empty;
+                return false;
+            }
+
             var match = expression.Match(name);
             int index = match.Index;
             if (match.Success && index != 0)
@@ -41,7 +47,7 @@ namespace Emby.Naming.Video
                 return true;
             }
 
-            newName = string.Empty;
+            newName = ReadOnlySpan<char>.Empty;
             return false;
         }
     }

+ 1 - 0
tests/Jellyfin.Naming.Tests/Video/CleanStringTests.cs

@@ -28,6 +28,7 @@ namespace Jellyfin.Naming.Tests.Video
         [InlineData("Crouching.Tiger.Hidden.Dragon.BDrip.mkv", "Crouching.Tiger.Hidden.Dragon")]
         [InlineData("Crouching.Tiger.Hidden.Dragon.BDrip-HDC.mkv", "Crouching.Tiger.Hidden.Dragon")]
         [InlineData("Crouching.Tiger.Hidden.Dragon.4K.UltraHD.HDR.BDrip-HDC.mkv", "Crouching.Tiger.Hidden.Dragon")]
+        [InlineData(null, null)]
         // FIXME: [InlineData("After The Sunset - [0004].mkv", "After The Sunset")]
         public void CleanStringTest(string input, string expectedName)
         {