Compare commits

...

3 commits

Author SHA1 Message Date
Malte Rosenbjerg
1fcd3626d8
Merge 508cce8827 into eb221c3e49 2023-10-30 00:19:20 +01:00
Malte Rosenbjerg
508cce8827 Change test path to non-existing directory 2023-02-23 22:00:19 +01:00
Malte Rosenbjerg
349b6044d1 Wrap Instances exception for expected behaviour 2023-02-23 19:18:34 +01:00
2 changed files with 20 additions and 2 deletions

View file

@ -1,6 +1,9 @@
using System.Reflection; using System.Reflection;
using FFMpegCore.Arguments; using FFMpegCore.Arguments;
using FFMpegCore.Exceptions;
using FFMpegCore.Helpers;
using FluentAssertions; using FluentAssertions;
using Instances.Exceptions;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace FFMpegCore.Test namespace FFMpegCore.Test
@ -99,5 +102,12 @@ public void Audible_Aax_Test()
var arg = new AudibleEncryptionKeyArgument("62689101"); var arg = new AudibleEncryptionKeyArgument("62689101");
arg.Text.Should().Be($"-activation_bytes 62689101"); arg.Text.Should().Be($"-activation_bytes 62689101");
} }
[TestMethod]
public void Throws_FFMpegException_when_ffmpeg_not_found()
{
var exception = Assert.ThrowsException<FFMpegException>(() => FFMpegHelper.VerifyFFMpegExists(new FFOptions { BinaryFolder = "./folder/that/does/not/exist" }));
Assert.IsInstanceOfType<InstanceFileNotFoundException>(exception.InnerException);
}
} }
} }

View file

@ -42,8 +42,16 @@ public static void VerifyFFMpegExists(FFOptions ffMpegOptions)
return; return;
} }
var result = Instance.Finish(GlobalFFOptions.GetFFMpegBinaryPath(ffMpegOptions), "-version"); try
_ffmpegVerified = result.ExitCode == 0; {
var result = Instance.Finish(GlobalFFOptions.GetFFMpegBinaryPath(ffMpegOptions), "-version");
_ffmpegVerified = result.ExitCode == 0;
}
catch (Exception e)
{
throw new FFMpegException(FFMpegExceptionType.Operation, "ffmpeg was not found on your system", e);
}
if (!_ffmpegVerified) if (!_ffmpegVerified)
{ {
throw new FFMpegException(FFMpegExceptionType.Operation, "ffmpeg was not found on your system"); throw new FFMpegException(FFMpegExceptionType.Operation, "ffmpeg was not found on your system");