BaseItemTests.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using MediaBrowser.Controller.Entities;
  2. using MediaBrowser.Controller.Library;
  3. using MediaBrowser.Model.MediaInfo;
  4. using Moq;
  5. using Xunit;
  6. namespace Jellyfin.Controller.Tests.Entities;
  7. public class BaseItemTests
  8. {
  9. [Theory]
  10. [InlineData("", "")]
  11. [InlineData("1", "0000000001")]
  12. [InlineData("t", "t")]
  13. [InlineData("test", "test")]
  14. [InlineData("test1", "test0000000001")]
  15. [InlineData("1test 2", "0000000001test 0000000002")]
  16. public void BaseItem_ModifySortChunks_Valid(string input, string expected)
  17. => Assert.Equal(expected, BaseItem.ModifySortChunks(input));
  18. [Theory]
  19. [InlineData("/Movies/Ted/Ted.mp4", "/Movies/Ted/Ted - Unrated Edition.mp4", "Ted", "Unrated Edition")]
  20. [InlineData("/Movies/Deadpool 2 (2018)/Deadpool 2 (2018).mkv", "/Movies/Deadpool 2 (2018)/Deadpool 2 (2018) - Super Duper Cut.mkv", "Deadpool 2 (2018)", "Super Duper Cut")]
  21. public void GetMediaSourceName_Valid(string primaryPath, string altPath, string name, string altName)
  22. {
  23. var mediaSourceManager = new Mock<IMediaSourceManager>();
  24. mediaSourceManager.Setup(x => x.GetPathProtocol(It.IsAny<string>()))
  25. .Returns((string x) => MediaProtocol.File);
  26. BaseItem.MediaSourceManager = mediaSourceManager.Object;
  27. var video = new Video()
  28. {
  29. Path = primaryPath
  30. };
  31. var videoAlt = new Video()
  32. {
  33. Path = altPath,
  34. };
  35. video.LocalAlternateVersions = [videoAlt.Path];
  36. Assert.Equal(name, video.GetMediaSourceName(video));
  37. Assert.Equal(altName, video.GetMediaSourceName(videoAlt));
  38. }
  39. }