| 
									
										
										
										
											2013-06-25 10:03:20 +02:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-06 23:38:04 +01:00
										 |  |  | namespace Tests\FFMpeg\Unit\Driver; | 
					
						
							| 
									
										
										
										
											2013-06-25 10:03:20 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | use Alchemy\BinaryDriver\Configuration; | 
					
						
							|  |  |  | use FFMpeg\Driver\FFMpegDriver; | 
					
						
							| 
									
										
										
										
											2016-03-06 23:38:04 +01:00
										 |  |  | use Tests\FFMpeg\Unit\TestCase; | 
					
						
							| 
									
										
										
										
											2013-06-25 10:03:20 +02:00
										 |  |  | use Symfony\Component\Process\ExecutableFinder; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class FFMpegDriverTest extends TestCase | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     public function setUp() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $executableFinder = new ExecutableFinder(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $found = false; | 
					
						
							|  |  |  |         foreach (array('avconv', 'ffmpeg') as $name) { | 
					
						
							|  |  |  |             if (null !== $executableFinder->find($name)) { | 
					
						
							|  |  |  |                 $found = true; | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (!$found) { | 
					
						
							|  |  |  |             $this->markTestSkipped('Neither ffmpeg or avconv found'); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public function testCreate() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $logger = $this->getLoggerMock(); | 
					
						
							|  |  |  |         $ffmpeg = FFMpegDriver::create($logger, array()); | 
					
						
							|  |  |  |         $this->assertInstanceOf('FFMpeg\Driver\FFMpegDriver', $ffmpeg); | 
					
						
							|  |  |  |         $this->assertEquals($logger, $ffmpeg->getProcessRunner()->getLogger()); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public function testCreateWithConfig() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $conf = new Configuration(); | 
					
						
							|  |  |  |         $ffmpeg = FFMpegDriver::create($this->getLoggerMock(), $conf); | 
					
						
							|  |  |  |         $this->assertEquals($conf, $ffmpeg->getConfiguration()); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2013-07-03 14:13:29 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     public function testCreateFailureThrowsAnException() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2020-02-13 00:39:31 +01:00
										 |  |  |         $this->expectException('\FFMpeg\Exception\ExecutableNotFoundException'); | 
					
						
							| 
									
										
										
										
											2013-07-03 14:13:29 +02:00
										 |  |  |         FFMpegDriver::create($this->getLoggerMock(), array('ffmpeg.binaries' => '/path/to/nowhere')); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2013-06-25 10:03:20 +02:00
										 |  |  | } |