ffmpeg-mappable-media/tests/Unit/FFMpegServiceProviderTest.php

71 lines
2.6 KiB
PHP
Raw Normal View History

2013-06-25 10:03:20 +02:00
<?php
namespace Tests\FFMpeg\Unit;
2013-06-25 10:03:20 +02:00
use FFMpeg\FFMpegServiceProvider;
use Silex\Application;
use PHPUnit\Framework\TestCase as BaseTestCase;
2013-06-25 10:03:20 +02:00
class FFMpegServiceProviderTest extends BaseTestCase
2013-06-25 10:03:20 +02:00
{
public function testWithConfig()
{
$app = new Application();
$app->register(new FFMpegServiceProvider(), array(
'ffmpeg.configuration' => array(
'ffmpeg.threads' => 12,
'ffmpeg.timeout' => 10666,
'ffprobe.timeout' => 4242,
)
));
$this->assertInstanceOf('FFMpeg\FFMpeg', $app['ffmpeg']);
$this->assertSame($app['ffmpeg'], $app['ffmpeg.ffmpeg']);
$this->assertInstanceOf('FFMpeg\FFProbe', $app['ffmpeg.ffprobe']);
$this->assertEquals(12, $app['ffmpeg']->getFFMpegDriver()->getConfiguration()->get('ffmpeg.threads'));
$this->assertEquals(10666, $app['ffmpeg']->getFFMpegDriver()->getProcessBuilderFactory()->getTimeout());
$this->assertEquals(4242, $app['ffmpeg.ffprobe']->getFFProbeDriver()->getProcessBuilderFactory()->getTimeout());
}
public function testWithoutConfig()
{
$app = new Application();
$app->register(new FFMpegServiceProvider());
$this->assertInstanceOf('FFMpeg\FFMpeg', $app['ffmpeg']);
$this->assertSame($app['ffmpeg'], $app['ffmpeg.ffmpeg']);
$this->assertInstanceOf('FFMpeg\FFProbe', $app['ffmpeg.ffprobe']);
$this->assertEquals(4, $app['ffmpeg']->getFFMpegDriver()->getConfiguration()->get('ffmpeg.threads'));
$this->assertEquals(300, $app['ffmpeg']->getFFMpegDriver()->getProcessBuilderFactory()->getTimeout());
$this->assertEquals(30, $app['ffmpeg.ffprobe']->getFFProbeDriver()->getProcessBuilderFactory()->getTimeout());
}
public function testWithFFMpegBinaryConfig()
{
$app = new Application();
$app->register(new FFMpegServiceProvider(), array(
'ffmpeg.configuration' => array(
'ffmpeg.binaries' => '/path/to/ffmpeg',
)
));
2013-07-03 14:13:29 +02:00
$this->setExpectedException('FFMpeg\Exception\ExecutableNotFoundException', 'Unable to load FFMpeg');
2013-06-25 10:03:20 +02:00
$app['ffmpeg'];
}
public function testWithFFMprobeBinaryConfig()
{
$app = new Application();
$app->register(new FFMpegServiceProvider(), array(
'ffmpeg.configuration' => array(
'ffprobe.binaries' => '/path/to/ffprobe',
)
));
2013-07-03 14:13:29 +02:00
$this->setExpectedException('FFMpeg\Exception\ExecutableNotFoundException', 'Unable to load FFProbe');
2013-06-25 10:03:20 +02:00
$app['ffmpeg.ffprobe'];
}
}