jellyfin-server/tests/Jellyfin.XbmcMetadata.Tests/Location/MovieNfoLocationTests.cs

66 lines
2.4 KiB
C#
Raw Normal View History

2021-07-12 18:20:50 +00:00
using System;
using System.Linq;
2021-02-13 21:48:29 +00:00
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
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
2021-07-12 18:20:50 +00:00
if (OperatingSystem.IsWindows())
2021-02-13 21:48:29 +00:00
{
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
2021-07-12 18:20:50 +00:00
if (OperatingSystem.IsWindows())
2021-02-13 21:48:29 +00:00
{
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);
}
}
}