* GitHub actions + style fixes + updated packages * Fixed workflows dir * Support for PHP 8.1 (#1) * Update README.md * Revert some changes from upstream
49 lines
1.4 KiB
PHP
49 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace Tests\FFMpeg\Unit\Driver;
|
|
|
|
use Alchemy\BinaryDriver\Configuration;
|
|
use FFMpeg\Driver\FFProbeDriver;
|
|
use Symfony\Component\Process\ExecutableFinder;
|
|
use Tests\FFMpeg\Unit\TestCase;
|
|
|
|
class FFProbeDriverTest extends TestCase
|
|
{
|
|
public function setUp(): void
|
|
{
|
|
$executableFinder = new ExecutableFinder();
|
|
|
|
$found = false;
|
|
foreach (['avprobe', 'ffprobe'] as $name) {
|
|
if (null !== $executableFinder->find($name)) {
|
|
$found = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!$found) {
|
|
$this->markTestSkipped('Neither ffprobe or avprobe found');
|
|
}
|
|
}
|
|
|
|
public function testCreate()
|
|
{
|
|
$logger = $this->getLoggerMock();
|
|
$ffprobe = FFProbeDriver::create([], $logger);
|
|
$this->assertInstanceOf('FFMpeg\Driver\FFProbeDriver', $ffprobe);
|
|
$this->assertEquals($logger, $ffprobe->getProcessRunner()->getLogger());
|
|
}
|
|
|
|
public function testCreateWithConfig()
|
|
{
|
|
$conf = new Configuration();
|
|
$ffprobe = FFProbeDriver::create($conf, $this->getLoggerMock());
|
|
$this->assertEquals($conf, $ffprobe->getConfiguration());
|
|
}
|
|
|
|
public function testCreateFailureThrowsAnException()
|
|
{
|
|
$this->expectException('\FFMpeg\Exception\ExecutableNotFoundException');
|
|
FFProbeDriver::create(['ffprobe.binaries' => '/path/to/nowhere']);
|
|
}
|
|
}
|