Add nfo location tests
This commit is contained in:
parent
36d91a1601
commit
7f12b27319
|
@ -1,5 +1,6 @@
|
|||
using System.Reflection;
|
||||
using System.Resources;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
|
@ -14,6 +15,7 @@ using System.Runtime.InteropServices;
|
|||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: NeutralResourcesLanguage("en")]
|
||||
[assembly: InternalsVisibleTo("Jellyfin.XbmcMetadata.Tests")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
using System.Linq;
|
||||
using MediaBrowser.Controller.Entities.Movies;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.System;
|
||||
using MediaBrowser.XbmcMetadata.Savers;
|
||||
using Xunit;
|
||||
|
||||
namespace Jellyfin.XbmcMetadata.Tests.Location
|
||||
{
|
||||
public class MovieNfoLocationTests
|
||||
{
|
||||
[Fact]
|
||||
public static void Movie_MixedFolder_Success()
|
||||
{
|
||||
var movie = new Movie() { Path = "/media/movies/Avengers Endgame.mp4", IsInMixedFolder = true };
|
||||
|
||||
var paths = MovieNfoSaver.GetMovieSavePaths(new ItemInfo(movie)).ToArray();
|
||||
Assert.Single(paths);
|
||||
Assert.Contains("/media/movies/Avengers Endgame.nfo", paths);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public static void Movie_SeparateFolder_Success()
|
||||
{
|
||||
var movie = new Movie() { Path = "/media/movies/Avengers Endgame/Avengers Endgame.mp4" };
|
||||
var path1 = "/media/movies/Avengers Endgame/Avengers Endgame.nfo";
|
||||
var path2 = "/media/movies/Avengers Endgame/movie.nfo";
|
||||
|
||||
// uses ContainingFolderPath which uses Operating system specific paths
|
||||
if (MediaBrowser.Common.System.OperatingSystem.Id == OperatingSystemId.Windows)
|
||||
{
|
||||
movie.Path = movie.Path.Replace('/', '\\');
|
||||
path1 = path1.Replace('/', '\\');
|
||||
path2 = path2.Replace('/', '\\');
|
||||
}
|
||||
|
||||
var paths = MovieNfoSaver.GetMovieSavePaths(new ItemInfo(movie)).ToArray();
|
||||
Assert.Equal(2, paths.Length);
|
||||
Assert.Contains(path1, paths);
|
||||
Assert.Contains(path2, paths);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Movie_DVD_Success()
|
||||
{
|
||||
var movie = new Movie() { Path = "/media/movies/Avengers Endgame", VideoType = VideoType.Dvd };
|
||||
var path1 = "/media/movies/Avengers Endgame/Avengers Endgame.nfo";
|
||||
var path2 = "/media/movies/Avengers Endgame/VIDEO_TS/VIDEO_TS.nfo";
|
||||
|
||||
// uses ContainingFolderPath which uses Operating system specific paths
|
||||
if (MediaBrowser.Common.System.OperatingSystem.Id == OperatingSystemId.Windows)
|
||||
{
|
||||
movie.Path = movie.Path.Replace('/', '\\');
|
||||
path1 = path1.Replace('/', '\\');
|
||||
path2 = path2.Replace('/', '\\');
|
||||
}
|
||||
|
||||
var paths = MovieNfoSaver.GetMovieSavePaths(new ItemInfo(movie)).ToArray();
|
||||
Assert.Equal(2, paths.Length);
|
||||
Assert.Contains(path1, paths);
|
||||
Assert.Contains(path2, paths);
|
||||
}
|
||||
}
|
||||
}
|
1
tests/Jellyfin.XbmcMetadata.Tests/Test Data/Imdb.nfo
Normal file
1
tests/Jellyfin.XbmcMetadata.Tests/Test Data/Imdb.nfo
Normal file
|
@ -0,0 +1 @@
|
|||
https://www.imdb.com/title/tt0944947/
|
1
tests/Jellyfin.XbmcMetadata.Tests/Test Data/Tmdb.nfo
Normal file
1
tests/Jellyfin.XbmcMetadata.Tests/Test Data/Tmdb.nfo
Normal file
|
@ -0,0 +1 @@
|
|||
https://www.themoviedb.org/movie/30287-fallo
|
1
tests/Jellyfin.XbmcMetadata.Tests/Test Data/Tvdb.nfo
Normal file
1
tests/Jellyfin.XbmcMetadata.Tests/Test Data/Tvdb.nfo
Normal file
|
@ -0,0 +1 @@
|
|||
https://www.thetvdb.com/?tab=series&id=121361
|
Loading…
Reference in New Issue
Block a user