aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2023-03-18 14:17:59 +0100
committerGitHub <noreply@github.com>2023-03-18 14:17:59 +0100
commitb2461feffb271ba6ac2902dabe6dafe59e864421 (patch)
tree2ef8afaa7484f8e5bf1d1db2eeea386e61839b6d
parent9ccfe3121fe65a2554807d2b1c6f5bf3e1d26c40 (diff)
parent0fd46a100ba94aca06c60b44e063f62523371ec6 (diff)
Merge pull request #9496 from mammo0/fix_file_stacking
-rw-r--r--Emby.Naming/Common/NamingOptions.cs3
-rw-r--r--tests/Jellyfin.Naming.Tests/Video/StackTests.cs13
-rw-r--r--tests/Jellyfin.Naming.Tests/Video/VideoListResolverTests.cs4
3 files changed, 10 insertions, 10 deletions
diff --git a/Emby.Naming/Common/NamingOptions.cs b/Emby.Naming/Common/NamingOptions.cs
index e9161a6b7..39c3ceeb3 100644
--- a/Emby.Naming/Common/NamingOptions.cs
+++ b/Emby.Naming/Common/NamingOptions.cs
@@ -141,8 +141,7 @@ namespace Emby.Naming.Common
VideoFileStackingRules = new[]
{
new FileStackRule(@"^(?<filename>.*?)(?:(?<=[\]\)\}])|[ _.-]+)[\(\[]?(?<parttype>cd|dvd|part|pt|dis[ck])[ _.-]*(?<number>[0-9]+)[\)\]]?(?:\.[^.]+)?$", true),
- new FileStackRule(@"^(?<filename>.*?)(?:(?<=[\]\)\}])|[ _.-]+)[\(\[]?(?<parttype>cd|dvd|part|pt|dis[ck])[ _.-]*(?<number>[a-d])[\)\]]?(?:\.[^.]+)?$", false),
- new FileStackRule(@"^(?<filename>.*?)(?:(?<=[\]\)\}])|[ _.-]?)(?<number>[a-d])(?:\.[^.]+)?$", false)
+ new FileStackRule(@"^(?<filename>.*?)(?:(?<=[\]\)\}])|[ _.-]+)[\(\[]?(?<parttype>cd|dvd|part|pt|dis[ck])[ _.-]*(?<number>[a-d])[\)\]]?(?:\.[^.]+)?$", false)
};
CleanDateTimes = new[]
diff --git a/tests/Jellyfin.Naming.Tests/Video/StackTests.cs b/tests/Jellyfin.Naming.Tests/Video/StackTests.cs
index 368c3592e..97b52f749 100644
--- a/tests/Jellyfin.Naming.Tests/Video/StackTests.cs
+++ b/tests/Jellyfin.Naming.Tests/Video/StackTests.cs
@@ -236,7 +236,7 @@ namespace Jellyfin.Naming.Tests.Video
}
[Fact]
- public void TestFalsePositive()
+ public void TestMissingParttype()
{
var files = new[]
{
@@ -248,9 +248,8 @@ namespace Jellyfin.Naming.Tests.Video
var result = StackResolver.ResolveFiles(files, _namingOptions).ToList();
- Assert.Single(result);
-
- TestStackInfo(result[0], "300", 3);
+ // There should be no stack, because all files should be treated as separate movies
+ Assert.Empty(result);
}
[Fact]
@@ -297,11 +296,11 @@ namespace Jellyfin.Naming.Tests.Video
var result = StackResolver.ResolveFiles(files, _namingOptions).ToList();
- Assert.Equal(3, result.Count);
+ // Only 'Bad Boys (2006)' and '300 (2006)' should be in the stack
+ Assert.Equal(2, result.Count);
TestStackInfo(result[0], "300 (2006)", 4);
- TestStackInfo(result[1], "300", 3);
- TestStackInfo(result[2], "Bad Boys (2006)", 4);
+ TestStackInfo(result[1], "Bad Boys (2006)", 4);
}
[Fact]
diff --git a/tests/Jellyfin.Naming.Tests/Video/VideoListResolverTests.cs b/tests/Jellyfin.Naming.Tests/Video/VideoListResolverTests.cs
index cc9cfdd7d..0316377d4 100644
--- a/tests/Jellyfin.Naming.Tests/Video/VideoListResolverTests.cs
+++ b/tests/Jellyfin.Naming.Tests/Video/VideoListResolverTests.cs
@@ -332,7 +332,9 @@ namespace Jellyfin.Naming.Tests.Video
files.Select(i => VideoResolver.Resolve(i, false, _namingOptions)).OfType<VideoFileInfo>().ToList(),
_namingOptions).ToList();
- Assert.Single(result);
+ // The result should contain two individual movies
+ // Version grouping should not work here, because the files are not in a directory with the name 'Four Sisters and a Wedding'
+ Assert.Equal(2, result.Count);
}
[Fact]