@ -1,4 +1,7 @@
using MediaBrowser.Controller.Entities ;
using MediaBrowser.Controller.Library ;
using MediaBrowser.Model.MediaInfo ;
using Moq ;
using Xunit ;
namespace Jellyfin.Controller.Tests.Entities ;
@ -14,4 +17,30 @@ public class BaseItemTests
[InlineData("1test 2", "0000000001test 0000000002")]
public void BaseItem_ModifySortChunks_Valid ( string input , string expected )
= > Assert . Equal ( expected , BaseItem . ModifySortChunks ( input ) ) ;
[Theory]
[InlineData("/Movies/Ted/Ted.mp4", "/Movies/Ted/Ted - Unrated Edition.mp4", "Ted", "Unrated Edition")]
[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")]
public void GetMediaSourceName_Valid ( string primaryPath , string altPath , string name , string altName )
{
var mediaSourceManager = new Mock < IMediaSourceManager > ( ) ;
mediaSourceManager . Setup ( x = > x . GetPathProtocol ( It . IsAny < string > ( ) ) )
. Returns ( ( string x ) = > MediaProtocol . File ) ;
BaseItem . MediaSourceManager = mediaSourceManager . Object ;
var video = new Video ( )
{
Path = primaryPath
} ;
var videoAlt = new Video ( )
{
Path = altPath ,
} ;
video . LocalAlternateVersions = [ videoAlt . Path ] ;
Assert . Equal ( name , video . GetMediaSourceName ( video ) ) ;
Assert . Equal ( altName , video . GetMediaSourceName ( videoAlt ) ) ;
}
}