Skip to content

Commit ddd04b6

Browse files
committed
Added option to use prefer movie.nfo
1 parent dff10db commit ddd04b6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+1010
-253
lines changed

NfoMetadata.Tests/HelperTests.cs

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
using System.Collections;
2+
using System.Linq;
3+
4+
using MediaBrowser.Controller.Entities;
5+
using MediaBrowser.Controller.Entities.Movies;
6+
using MediaBrowser.Controller.Providers;
7+
using MediaBrowser.Model.Entities;
8+
9+
using NUnit.Framework;
10+
11+
namespace NfoMetadata.Tests
12+
{
13+
public class HelperTests
14+
{
15+
private class TestItem : Video
16+
{
17+
}
18+
19+
[OneTimeSetUp]
20+
public void OneTimeSetup()
21+
{
22+
BaseItem.MediaSourceManager = new TestMediaSourceManager();
23+
BaseItem.FileSystem = new TestFileSystem();
24+
}
25+
26+
[SetUp]
27+
public void Setup()
28+
{
29+
}
30+
31+
public static IEnumerable SavePathTestCases_MKV
32+
{
33+
get
34+
{
35+
#region MKV (not mix folder)
36+
37+
yield return
38+
new TestCaseData(
39+
MediaContainer.Mkv.ToString(),
40+
@"C:\Video\Movies\9 (2009)\9 (2009) - BluRay 1080p DTS x264-Group.mkv",
41+
false,
42+
false
43+
)
44+
.Returns(new[]
45+
{
46+
(@"C:\Video\Movies\9 (2009)", "9 (2009) - BluRay 1080p DTS x264-Group.nfo"),
47+
(@"C:\Video\Movies\9 (2009)", "movie.nfo")
48+
});
49+
50+
yield return
51+
new TestCaseData(
52+
MediaContainer.Mkv.ToString(),
53+
@"C:\Video\Movies\9 (2009)\9 (2009) - BluRay 1080p DTS x264-Group.mkv",
54+
false,
55+
true
56+
)
57+
.Returns(new[]
58+
{
59+
(@"C:\Video\Movies\9 (2009)", "movie.nfo"),
60+
(@"C:\Video\Movies\9 (2009)", "9 (2009) - BluRay 1080p DTS x264-Group.nfo")
61+
});
62+
63+
#endregion
64+
65+
#region MKV (Mixed Folder)
66+
67+
yield return
68+
new TestCaseData(
69+
MediaContainer.Mkv.ToString(),
70+
@"C:\Video\Movies\9 (2009)\9 (2009) - BluRay 1080p DTS x264-Group.mkv",
71+
true,
72+
false
73+
)
74+
.Returns(new[]
75+
{
76+
(@"C:\Video\Movies\9 (2009)", "9 (2009) - BluRay 1080p DTS x264-Group.nfo")
77+
});
78+
79+
yield return
80+
new TestCaseData(
81+
MediaContainer.Mkv.ToString(),
82+
@"C:\Video\Movies\9 (2009)\9 (2009) - BluRay 1080p DTS x264-Group.mkv",
83+
true,
84+
true
85+
)
86+
.Returns(new[]
87+
{
88+
(@"C:\Video\Movies\9 (2009)", "9 (2009) - BluRay 1080p DTS x264-Group.nfo")
89+
});
90+
91+
#endregion
92+
}
93+
}
94+
95+
public static IEnumerable SavePathTestCases_DVD
96+
{
97+
get
98+
{
99+
#region Dvd
100+
101+
yield return
102+
new TestCaseData(
103+
MediaContainer.Dvd.ToString(),
104+
@"C:\Video\Movies\Léon (1994)",
105+
false,
106+
false
107+
)
108+
.Returns(new[]
109+
{
110+
(@"C:\Video\Movies\Léon (1994)\VIDEO_TS", "VIDEO_TS.nfo"),
111+
(@"C:\Video\Movies\Léon (1994)", "Léon (1994).nfo")
112+
});
113+
114+
#endregion
115+
}
116+
}
117+
118+
public static IEnumerable SavePathTestCases_BluRay
119+
{
120+
get
121+
{
122+
#region BluRay
123+
124+
yield return
125+
new TestCaseData(
126+
MediaContainer.Bluray.ToString(),
127+
@"E:\Movies\Movies\Alien (1979)",
128+
false,
129+
false
130+
)
131+
.Returns(new[]
132+
{
133+
(@"E:\Movies\Movies\Alien (1979)\BDMV", "index.nfo"),
134+
(@"E:\Movies\Movies\Alien (1979)", "Alien (1979).nfo")
135+
});
136+
137+
#endregion
138+
}
139+
}
140+
141+
[TestCaseSource(nameof(SavePathTestCases_MKV))]
142+
[TestCaseSource(nameof(SavePathTestCases_DVD))]
143+
[TestCaseSource(nameof(SavePathTestCases_BluRay))]
144+
public (string, string)[] Validate_File_SavePaths(string container, string path, bool isInMixedFolder, bool preferMovieNfo)
145+
{
146+
var itemInfo = new ItemInfo(new TestItem
147+
{
148+
Container = container,
149+
Path = path,
150+
IsInMixedFolder = isInMixedFolder,
151+
});
152+
153+
var actual = Helpers
154+
.GetMovieSavePaths(itemInfo, new Configuration.XbmcMetadataOptions { PreferMovieNfo = preferMovieNfo })
155+
.ToArray();
156+
157+
return actual;
158+
}
159+
}
160+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net8.0</TargetFramework>
5+
<IsPackable>false</IsPackable>
6+
</PropertyGroup>
7+
8+
<ItemGroup>
9+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
10+
<PackageReference Include="NUnit" Version="4.2.2" />
11+
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" />
12+
<PackageReference Include="NUnit.Analyzers" Version="4.3.0">
13+
<PrivateAssets>all</PrivateAssets>
14+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
15+
</PackageReference>
16+
<PackageReference Include="coverlet.collector" Version="6.0.2">
17+
<PrivateAssets>all</PrivateAssets>
18+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
19+
</PackageReference>
20+
</ItemGroup>
21+
22+
<ItemGroup>
23+
<ProjectReference Include="..\NfoMetadata\NfoMetadata.csproj" />
24+
</ItemGroup>
25+
26+
</Project>

0 commit comments

Comments
 (0)