aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorCody Robibero <cody@robibe.ro>2026-08-22 08:43:07 -0400
committerGitHub <noreply@github.com>2026-08-22 08:43:07 -0400
commitc04f11bd76acd19a1440bbb4351160642a09ef9c (patch)
tree8063f43084f6c7ba1ad2a50fb5a0bc084a08dad4 /tests
parent6617a27de30f595617b372d53910c35e49d76364 (diff)
parent9ba91d4583f3671eaacae8e073fb53288f9b8715 (diff)
Merge pull request #17685 from jellyfin/GHSA-wwwm-px48-fpvq-v12
Fix GHSA-wwwm-px48-fpvq
Diffstat (limited to 'tests')
-rw-r--r--tests/Jellyfin.Extensions.Tests/StringExtensionsTests.cs23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/Jellyfin.Extensions.Tests/StringExtensionsTests.cs b/tests/Jellyfin.Extensions.Tests/StringExtensionsTests.cs
index 028f12afa7..0851570396 100644
--- a/tests/Jellyfin.Extensions.Tests/StringExtensionsTests.cs
+++ b/tests/Jellyfin.Extensions.Tests/StringExtensionsTests.cs
@@ -75,5 +75,28 @@ namespace Jellyfin.Extensions.Tests
var result = str.AsSpan().RightPart(needle).ToString();
Assert.Equal(expectedResult, result);
}
+
+ [Theory]
+ [InlineData("", "")]
+ [InlineData("/media/movies/Film.mkv", "/media/movies/Film.mkv")]
+ [InlineData(@"C:\media\movies\Film.mkv", @"C:\media\movies\Film.mkv")]
+ [InlineData(@"/media/a""b.mkv", @"/media/a\""b.mkv")]
+ [InlineData(@"/media/a\""b.mkv", @"/media/a\\\""b.mkv")]
+ [InlineData(@"/media/a\\""b.mkv", @"/media/a\\\\\""b.mkv")]
+ [InlineData(@"/media/a\b""c.mkv", @"/media/a\b\""c.mkv")]
+ [InlineData(@"/media/trailing\", @"/media/trailing\\")]
+ [InlineData(@"/media/evil\"" -f lavfi -i sine .mkv", @"/media/evil\\\"" -f lavfi -i sine .mkv")]
+ public void EscapeProcessArgument_ValidInput_Corrects(string input, string expectedResult)
+ {
+ Assert.Equal(expectedResult, input.EscapeProcessArgument());
+ }
+
+ [Theory]
+ [InlineData("/media/movies/Film with spaces.mkv")]
+ [InlineData(@"C:\media\movies\Film.mkv")]
+ public void EscapeProcessArgument_NothingToEscape_ReturnsSameInstance(string input)
+ {
+ Assert.Same(input, input.EscapeProcessArgument());
+ }
}
}