aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/Jellyfin.Naming.Tests/Video/ExtraTests.cs40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/Jellyfin.Naming.Tests/Video/ExtraTests.cs b/tests/Jellyfin.Naming.Tests/Video/ExtraTests.cs
index 1646237a0..c2a9ef2da 100644
--- a/tests/Jellyfin.Naming.Tests/Video/ExtraTests.cs
+++ b/tests/Jellyfin.Naming.Tests/Video/ExtraTests.cs
@@ -45,6 +45,46 @@ namespace Jellyfin.Naming.Tests.Video
Test("300-behindthescenes.mp4", ExtraType.BehindTheScenes, videoOptions);
}
+ [Fact]
+ public void TestDirectories()
+ {
+ var videoOptions = new NamingOptions();
+
+ (ExtraType Type, string dirName)[] extraDirectoryNameTests =
+ {
+ (ExtraType.BehindTheScenes, "behind the scenes" ),
+ (ExtraType.DeletedScene, "deleted scenes" ),
+ (ExtraType.Interview, "interviews" ),
+ (ExtraType.Scene, "scenes" ),
+ (ExtraType.Sample, "samples" ),
+ (ExtraType.Clip, "shorts" ),
+ (ExtraType.Clip, "featurettes" ),
+ (ExtraType.Unknown, "extras" ),
+ };
+
+ foreach ((ExtraType type, string dirName) in extraDirectoryNameTests)
+ {
+ Test(dirName + "/300.mp4", type, videoOptions);
+ Test("300/" + dirName + "/something.mkv", type, videoOptions);
+ Test("/data/something/Movies/300/" + dirName + "/whoknows.mp4", type, videoOptions);
+ }
+
+ //Test the null condition
+ string[] nonExtraDirectoryNames =
+ {
+ "gibberish",
+ "not a scene",
+ };
+ foreach (string dirName in nonExtraDirectoryNames)
+ {
+ Test(dirName + "/300.mp4", null, videoOptions);
+ Test("300/" + dirName + "/something.mkv", null, videoOptions);
+ Test("/data/something/Movies/300/" + dirName + "/whoknows.mp4", null, videoOptions);
+ }
+ Test("/data/something/Movies/not a scene/not a scene.mp4", null, videoOptions);
+ Test("/data/something/Movies/The Big Short/The Big Short.mp4", null, videoOptions);
+ }
+
[Fact]
public void TestSample()
{