From 65e8ba85e31ba56fbbe272ce150f6703b94d4c59 Mon Sep 17 00:00:00 2001 From: Malte Rosenbjerg Date: Thu, 16 Oct 2025 14:09:59 +0200 Subject: [PATCH 1/7] Move tests --- FFMpegCore.Test/ArgumentBuilderTest.cs | 21 +++++++++++++++++++ .../FFMpegArgumentProcessorTest.cs | 21 ------------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/FFMpegCore.Test/ArgumentBuilderTest.cs b/FFMpegCore.Test/ArgumentBuilderTest.cs index 167b2a4..0e6d715 100644 --- a/FFMpegCore.Test/ArgumentBuilderTest.cs +++ b/FFMpegCore.Test/ArgumentBuilderTest.cs @@ -682,4 +682,25 @@ public class ArgumentBuilderTest // Act & Assert Assert.ThrowsExactly(() => argument.Pre()); } + + [TestMethod] + public void Concat_Escape() + { + var arg = new DemuxConcatArgument([@"Heaven's River\05 - Investigation.m4b"]); + CollectionAssert.AreEquivalent(new[] { @"file 'Heaven'\''s River\05 - Investigation.m4b'" }, arg.Values.ToArray()); + } + + [TestMethod] + public void Audible_Aaxc_Test() + { + var arg = new AudibleEncryptionKeyArgument("123", "456"); + Assert.AreEqual("-audible_key 123 -audible_iv 456", arg.Text); + } + + [TestMethod] + public void Audible_Aax_Test() + { + var arg = new AudibleEncryptionKeyArgument("62689101"); + Assert.AreEqual("-activation_bytes 62689101", arg.Text); + } } diff --git a/FFMpegCore.Test/FFMpegArgumentProcessorTest.cs b/FFMpegCore.Test/FFMpegArgumentProcessorTest.cs index 1820b9b..f9442df 100644 --- a/FFMpegCore.Test/FFMpegArgumentProcessorTest.cs +++ b/FFMpegCore.Test/FFMpegArgumentProcessorTest.cs @@ -97,25 +97,4 @@ public class FFMpegArgumentProcessorTest GlobalFFOptions.Configure(new FFOptions()); } } - - [TestMethod] - public void Concat_Escape() - { - var arg = new DemuxConcatArgument([@"Heaven's River\05 - Investigation.m4b"]); - CollectionAssert.AreEquivalent(new[] { @"file 'Heaven'\''s River\05 - Investigation.m4b'" }, arg.Values.ToArray()); - } - - [TestMethod] - public void Audible_Aaxc_Test() - { - var arg = new AudibleEncryptionKeyArgument("123", "456"); - Assert.AreEqual("-audible_key 123 -audible_iv 456", arg.Text); - } - - [TestMethod] - public void Audible_Aax_Test() - { - var arg = new AudibleEncryptionKeyArgument("62689101"); - Assert.AreEqual("-activation_bytes 62689101", arg.Text); - } } From 0c467e3a0563f9a315d171553e1d5982b56c63ed Mon Sep 17 00:00:00 2001 From: Malte Rosenbjerg Date: Thu, 16 Oct 2025 14:14:47 +0200 Subject: [PATCH 2/7] Improve resetting --- FFMpegCore.Test/Assembly.cs | 2 +- FFMpegCore.Test/FFMpegArgumentProcessorTest.cs | 4 +--- FFMpegCore.Test/FFMpegOptionsTests.cs | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/FFMpegCore.Test/Assembly.cs b/FFMpegCore.Test/Assembly.cs index 83cae2e..ceea514 100644 --- a/FFMpegCore.Test/Assembly.cs +++ b/FFMpegCore.Test/Assembly.cs @@ -1 +1 @@ -[assembly: Parallelize] +[assembly: Parallelize(Scope = ExecutionScope.ClassLevel)] diff --git a/FFMpegCore.Test/FFMpegArgumentProcessorTest.cs b/FFMpegCore.Test/FFMpegArgumentProcessorTest.cs index f9442df..0e95f2e 100644 --- a/FFMpegCore.Test/FFMpegArgumentProcessorTest.cs +++ b/FFMpegCore.Test/FFMpegArgumentProcessorTest.cs @@ -1,6 +1,4 @@ -using FFMpegCore.Arguments; - -namespace FFMpegCore.Test; +namespace FFMpegCore.Test; [TestClass] public class FFMpegArgumentProcessorTest diff --git a/FFMpegCore.Test/FFMpegOptionsTests.cs b/FFMpegCore.Test/FFMpegOptionsTests.cs index 3212cf6..ceaabf2 100644 --- a/FFMpegCore.Test/FFMpegOptionsTests.cs +++ b/FFMpegCore.Test/FFMpegOptionsTests.cs @@ -29,7 +29,6 @@ public class FFMpegOptionsTest [TestMethod] public void Options_Set_Programmatically() { - var original = GlobalFFOptions.Current; try { GlobalFFOptions.Configure(new FFOptions { BinaryFolder = "Whatever" }); @@ -40,7 +39,7 @@ public class FFMpegOptionsTest } finally { - GlobalFFOptions.Configure(original); + GlobalFFOptions.Configure(new FFOptions()); } } } From 91bbfa850ede2f84116eba230207dbf5ebf9c880 Mon Sep 17 00:00:00 2001 From: Malte Rosenbjerg Date: Thu, 16 Oct 2025 14:36:25 +0200 Subject: [PATCH 3/7] Avoid modifying global options if not necessary --- FFMpegCore.Test/VideoTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FFMpegCore.Test/VideoTest.cs b/FFMpegCore.Test/VideoTest.cs index 9bcca7c..010ec44 100644 --- a/FFMpegCore.Test/VideoTest.cs +++ b/FFMpegCore.Test/VideoTest.cs @@ -824,7 +824,6 @@ public class VideoTest using var outputFile = new TemporaryFile("out.mp4"); var dataReceived = false; - GlobalFFOptions.Configure(opt => opt.Encoding = Encoding.UTF8); var success = FFMpegArguments .FromFileInput(TestResources.Mp4Video) .WithGlobalOptions(options => options @@ -832,6 +831,7 @@ public class VideoTest .OutputToFile(outputFile, false, opt => opt .WithDuration(TimeSpan.FromSeconds(2))) .NotifyOnError(_ => dataReceived = true) + .Configure(opt => opt.Encoding = Encoding.UTF8) .ProcessSynchronously(); Assert.IsTrue(dataReceived); From b8de2fc545b35e46634b8b0f49c7c89b9dea3e98 Mon Sep 17 00:00:00 2001 From: Malte Rosenbjerg Date: Thu, 16 Oct 2025 14:41:26 +0200 Subject: [PATCH 4/7] Parallelize on MethodLevel --- FFMpegCore.Test/Assembly.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FFMpegCore.Test/Assembly.cs b/FFMpegCore.Test/Assembly.cs index ceea514..aaf278c 100644 --- a/FFMpegCore.Test/Assembly.cs +++ b/FFMpegCore.Test/Assembly.cs @@ -1 +1 @@ -[assembly: Parallelize(Scope = ExecutionScope.ClassLevel)] +[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)] From 48ccd3e2911d1f7171f379223b67b8ca4d16d4fc Mon Sep 17 00:00:00 2001 From: Malte Rosenbjerg Date: Thu, 16 Oct 2025 14:41:36 +0200 Subject: [PATCH 5/7] Update test config.json file --- FFMpegCore.Test/ffmpeg.config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FFMpegCore.Test/ffmpeg.config.json b/FFMpegCore.Test/ffmpeg.config.json index b9c9a56..4577f15 100644 --- a/FFMpegCore.Test/ffmpeg.config.json +++ b/FFMpegCore.Test/ffmpeg.config.json @@ -1,3 +1,3 @@ { - "RootDirectory": "" + "BinaryFolder": "" } \ No newline at end of file From 5082e6503e28419f0435bf364a66d192043b4dae Mon Sep 17 00:00:00 2001 From: Malte Rosenbjerg Date: Thu, 16 Oct 2025 14:41:47 +0200 Subject: [PATCH 6/7] Set OrderTestsByNameInClass to true --- FFMpegCore.Test/FFMpegCore.Test.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/FFMpegCore.Test/FFMpegCore.Test.csproj b/FFMpegCore.Test/FFMpegCore.Test.csproj index a4061ed..9fa8034 100644 --- a/FFMpegCore.Test/FFMpegCore.Test.csproj +++ b/FFMpegCore.Test/FFMpegCore.Test.csproj @@ -5,6 +5,7 @@ false disable default + true From cd258991bd528ee1e215ca126a0e9731a5247b29 Mon Sep 17 00:00:00 2001 From: Malte Rosenbjerg Date: Thu, 16 Oct 2025 14:42:04 +0200 Subject: [PATCH 7/7] Add prefix to tests modifying GlobalOptions --- FFMpegCore.Test/FFMpegArgumentProcessorTest.cs | 6 +++--- FFMpegCore.Test/FFMpegOptionsTests.cs | 7 ++----- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/FFMpegCore.Test/FFMpegArgumentProcessorTest.cs b/FFMpegCore.Test/FFMpegArgumentProcessorTest.cs index 0e95f2e..5631e1d 100644 --- a/FFMpegCore.Test/FFMpegArgumentProcessorTest.cs +++ b/FFMpegCore.Test/FFMpegArgumentProcessorTest.cs @@ -11,7 +11,7 @@ public class FFMpegArgumentProcessorTest } [TestMethod] - public void Processor_GlobalOptions_GetUsed() + public void ZZZ_Processor_GlobalOptions_GetUsed() { var globalWorkingDir = "Whatever"; var processor = CreateArgumentProcessor(); @@ -43,7 +43,7 @@ public class FFMpegArgumentProcessorTest } [TestMethod] - public void Processor_Options_CanBeOverridden_And_Configured() + public void ZZZ_Processor_Options_CanBeOverridden_And_Configured() { var globalConfig = "Whatever"; @@ -73,7 +73,7 @@ public class FFMpegArgumentProcessorTest } [TestMethod] - public void Options_Global_And_Session_Options_Can_Differ() + public void ZZZ_Options_Global_And_Session_Options_Can_Differ() { var globalWorkingDir = "Whatever"; diff --git a/FFMpegCore.Test/FFMpegOptionsTests.cs b/FFMpegCore.Test/FFMpegOptionsTests.cs index ceaabf2..4cc9ef7 100644 --- a/FFMpegCore.Test/FFMpegOptionsTests.cs +++ b/FFMpegCore.Test/FFMpegOptionsTests.cs @@ -27,15 +27,12 @@ public class FFMpegOptionsTest } [TestMethod] - public void Options_Set_Programmatically() + public void ZZZ_Options_Set_Programmatically() { try { GlobalFFOptions.Configure(new FFOptions { BinaryFolder = "Whatever" }); - Assert.AreEqual( - "Whatever", - GlobalFFOptions.Current.BinaryFolder - ); + Assert.AreEqual("Whatever", GlobalFFOptions.Current.BinaryFolder); } finally {