| 
					
				 | 
			
			
				@@ -7,6 +7,8 @@ namespace Jellyfin.Naming.Tests.Video 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public class ExtraTests : BaseVideoTest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private readonly NamingOptions _videoOptions = new NamingOptions(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Requirements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // movie-deleted = ExtraType deletedscene 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15,42 +17,64 @@ namespace Jellyfin.Naming.Tests.Video 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         [Fact] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public void TestKodiExtras() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var videoOptions = new NamingOptions(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("trailer.mp4", ExtraType.Trailer, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("300-trailer.mp4", ExtraType.Trailer, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("trailer.mp4", ExtraType.Trailer, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("300-trailer.mp4", ExtraType.Trailer, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("theme.mp3", ExtraType.ThemeSong, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("theme.mp3", ExtraType.ThemeSong, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         [Fact] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public void TestExpandedExtras() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var videoOptions = new NamingOptions(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("trailer.mp4", ExtraType.Trailer, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("trailer.mp3", null, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("300-trailer.mp4", ExtraType.Trailer, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("trailer.mp4", ExtraType.Trailer, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("trailer.mp3", null, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("300-trailer.mp4", ExtraType.Trailer, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("theme.mp3", ExtraType.ThemeSong, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("theme.mkv", null, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("theme.mp3", ExtraType.ThemeSong, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("theme.mkv", null, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("300-scene.mp4", ExtraType.Scene, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("300-scene2.mp4", ExtraType.Scene, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("300-clip.mp4", ExtraType.Clip, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("300-deleted.mp4", ExtraType.DeletedScene, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("300-deletedscene.mp4", ExtraType.DeletedScene, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("300-interview.mp4", ExtraType.Interview, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("300-behindthescenes.mp4", ExtraType.BehindTheScenes, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("300-scene.mp4", ExtraType.Scene, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("300-scene2.mp4", ExtraType.Scene, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("300-clip.mp4", ExtraType.Clip, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        [Theory] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        [InlineData(ExtraType.BehindTheScenes, "behind the scenes" )] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        [InlineData(ExtraType.DeletedScene, "deleted scenes" )] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        [InlineData(ExtraType.Interview, "interviews" )] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        [InlineData(ExtraType.Scene, "scenes" )] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        [InlineData(ExtraType.Sample, "samples" )] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        [InlineData(ExtraType.Clip, "shorts" )] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        [InlineData(ExtraType.Clip, "featurettes" )] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        [InlineData(ExtraType.Unknown, "extras" )] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public void TestDirectories(ExtraType type, string dirName) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test(dirName + "/300.mp4", type, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("300/" + dirName + "/something.mkv", type, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("/data/something/Movies/300/" + dirName + "/whoknows.mp4", type, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("300-deleted.mp4", ExtraType.DeletedScene, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("300-deletedscene.mp4", ExtraType.DeletedScene, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("300-interview.mp4", ExtraType.Interview, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("300-behindthescenes.mp4", ExtraType.BehindTheScenes, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        [Theory] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        [InlineData("gibberish")] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        [InlineData("not a scene")] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        [InlineData("The Big Short")] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public void TestNonExtraDirectories(string dirName) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test(dirName + "/300.mp4", null, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("300/" + dirName + "/something.mkv", null, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("/data/something/Movies/300/" + dirName + "/whoknows.mp4", null, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("/data/something/Movies/" + dirName + "/" + dirName + ".mp4", null, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         [Fact] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public void TestSample() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var videoOptions = new NamingOptions(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Test("300-sample.mp4", ExtraType.Sample, videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Test("300-sample.mp4", ExtraType.Sample, _videoOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void Test(string input, ExtraType? expectedType, NamingOptions videoOptions) 
			 |