Add Format tests
This commit is contained in:
		
					parent
					
						
							
								eec7e3f2dd
							
						
					
				
			
			
				commit
				
					
						7491db22e2
					
				
			
		
					 2 changed files with 320 additions and 1 deletions
				
			
		|  | @ -21,7 +21,7 @@ abstract class DefaultFormat implements Format | ||||||
| 
 | 
 | ||||||
|     public function getExtraParams() |     public function getExtraParams() | ||||||
|     { |     { | ||||||
| 
 |         return ''; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public function getWidth() |     public function getWidth() | ||||||
|  | @ -133,6 +133,11 @@ abstract class DefaultFormat implements Format | ||||||
| 
 | 
 | ||||||
|     public function setGOPsize($GOPsize) |     public function setGOPsize($GOPsize) | ||||||
|     { |     { | ||||||
|  |         if ($GOPsize < 1) | ||||||
|  |         { | ||||||
|  |             throw new \InvalidArgumentException('Wrong GOP size value'); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         $this->GOPsize = (int) $GOPsize; |         $this->GOPsize = (int) $GOPsize; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										314
									
								
								tests/src/FFMpeg/Format/DefaultFormatTest.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										314
									
								
								tests/src/FFMpeg/Format/DefaultFormatTest.php
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,314 @@ | ||||||
|  | <?php | ||||||
|  | 
 | ||||||
|  | namespace FFMpeg\Format; | ||||||
|  | 
 | ||||||
|  | require_once dirname(__FILE__) . '/../../../../src/FFMpeg/Format/DefaultFormat.php'; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Test class for DefaultFormat. | ||||||
|  |  * Generated by PHPUnit on 2012-04-13 at 11:03:02. | ||||||
|  |  */ | ||||||
|  | class DefaultFormatTest extends \PHPUnit_Framework_TestCase | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @var DefaultFormat | ||||||
|  |      */ | ||||||
|  |     protected $object; | ||||||
|  | 
 | ||||||
|  |     protected function setUp() | ||||||
|  |     { | ||||||
|  |         $this->object = new DefaultFormatTester(320, 240); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::__construct | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::getWidth | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::getHeight | ||||||
|  |      */ | ||||||
|  |     public function testConstruct() | ||||||
|  |     { | ||||||
|  |         $this->assertEquals(320, $this->object->getWidth()); | ||||||
|  |         $this->assertEquals(240, $this->object->getHeight()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::getExtraParams | ||||||
|  |      */ | ||||||
|  |     public function testGetExtraParams() | ||||||
|  |     { | ||||||
|  |         $this->assertEquals('-f format', $this->object->getExtraParams()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::setDimensions | ||||||
|  |      */ | ||||||
|  |     public function testSetDimensions() | ||||||
|  |     { | ||||||
|  |         $this->object->setDimensions(240, 640); | ||||||
|  |         $this->assertEquals(240, $this->object->getWidth()); | ||||||
|  |         $this->assertEquals(640, $this->object->getHeight()); | ||||||
|  | 
 | ||||||
|  |         $this->object->setDimensions(242, 638); | ||||||
|  |         $this->assertEquals(240, $this->object->getWidth()); | ||||||
|  |         $this->assertEquals(640, $this->object->getHeight()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::setDimensions | ||||||
|  |      * @dataProvider getWrongDimensions | ||||||
|  |      * @expectedException \InvalidArgumentException | ||||||
|  |      */ | ||||||
|  |     public function testWrongDimensions($width, $height) | ||||||
|  |     { | ||||||
|  |         $this->object->setDimensions($width, $height); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Data provider for testWrongDimensions | ||||||
|  |      * | ||||||
|  |      * @return array | ||||||
|  |      */ | ||||||
|  |     public function getWrongDimensions() | ||||||
|  |     { | ||||||
|  |         return array( | ||||||
|  |           array(0, 240), | ||||||
|  |           array(240, 0), | ||||||
|  |           array(-5, 240), | ||||||
|  |           array(240, -5), | ||||||
|  |           array(-5, -5), | ||||||
|  |           array(0, 0) | ||||||
|  |         ); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::getFrameRate | ||||||
|  |      */ | ||||||
|  |     public function testGetFrameRate() | ||||||
|  |     { | ||||||
|  |         $this->assertEquals(25, $this->object->getFrameRate()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::setFrameRate | ||||||
|  |      */ | ||||||
|  |     public function testSetFrameRate() | ||||||
|  |     { | ||||||
|  |         $this->object->setFrameRate(12); | ||||||
|  |         $this->assertEquals(12, $this->object->getFrameRate()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::setFrameRate | ||||||
|  |      * @dataProvider getWrongFrameRates | ||||||
|  |      * @expectedException \InvalidArgumentException | ||||||
|  |      */ | ||||||
|  |     public function testSetWrongFrameRates($framerate) | ||||||
|  |     { | ||||||
|  |         $this->object->setFrameRate($framerate); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Data provider for testWrongFrameRates | ||||||
|  |      * | ||||||
|  |      * @return array | ||||||
|  |      */ | ||||||
|  |     public function getWrongFramerates() | ||||||
|  |     { | ||||||
|  |         return array(array(-5), array(0)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::getAudioCodec | ||||||
|  |      */ | ||||||
|  |     public function testGetAudioCodec() | ||||||
|  |     { | ||||||
|  |         $this->assertEquals('audiocodec1', $this->object->getAudioCodec()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::setAudioCodec | ||||||
|  |      */ | ||||||
|  |     public function testSetAudioCodec() | ||||||
|  |     { | ||||||
|  |         $this->object->setAudioCodec('audiocodec2'); | ||||||
|  |         $this->assertEquals('audiocodec2', $this->object->getAudioCodec()); | ||||||
|  |         $this->object->setAudioCodec('audiocodec1'); | ||||||
|  |         $this->assertEquals('audiocodec1', $this->object->getAudioCodec()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::setAudioCodec | ||||||
|  |      * @expectedException \InvalidArgumentException | ||||||
|  |      */ | ||||||
|  |     public function testSetWrongAudioCodec() | ||||||
|  |     { | ||||||
|  |         $this->object->setAudioCodec('audiocodec4'); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::getAudioSampleRate | ||||||
|  |      */ | ||||||
|  |     public function testGetAudioSampleRate() | ||||||
|  |     { | ||||||
|  |         $this->assertEquals(44100, $this->object->getAudioSampleRate()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::setAudioSampleRate | ||||||
|  |      */ | ||||||
|  |     public function testSetAudioSampleRate() | ||||||
|  |     { | ||||||
|  |         $this->object->setAudioSampleRate(22050); | ||||||
|  |         $this->assertEquals(22050, $this->object->getAudioSampleRate()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::setAudioSampleRate | ||||||
|  |      * @expectedException \InvalidArgumentException | ||||||
|  |      * @dataProvider getWrongAudioSampleRate | ||||||
|  |      */ | ||||||
|  |     public function testSetWrongAudioSampleRate($samplerate) | ||||||
|  |     { | ||||||
|  |         $this->object->setAudioSampleRate($samplerate); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function getWrongAudioSampleRate() | ||||||
|  |     { | ||||||
|  |         return array(array(-5), array(0)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::getVideoCodec | ||||||
|  |      */ | ||||||
|  |     public function testGetVideoCodec() | ||||||
|  |     { | ||||||
|  |         $this->assertEquals('videocodec2', $this->object->getVideoCodec()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::setVideoCodec | ||||||
|  |      */ | ||||||
|  |     public function testSetVideoCodec() | ||||||
|  |     { | ||||||
|  |         $this->object->setVideoCodec('videocodec2'); | ||||||
|  |         $this->assertEquals('videocodec2', $this->object->getVideoCodec()); | ||||||
|  |         $this->object->setVideoCodec('videocodec1'); | ||||||
|  |         $this->assertEquals('videocodec1', $this->object->getVideoCodec()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::setVideoCodec | ||||||
|  |      * @expectedException \InvalidArgumentException | ||||||
|  |      */ | ||||||
|  |     public function testSetWrongVideoCodec() | ||||||
|  |     { | ||||||
|  |         $this->object->setVideoCodec('videocodec4'); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::getKiloBitrate | ||||||
|  |      */ | ||||||
|  |     public function testGetKiloBitrate() | ||||||
|  |     { | ||||||
|  |         $this->assertEquals(1000, $this->object->getKiloBitrate()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::setKiloBitrate | ||||||
|  |      */ | ||||||
|  |     public function testSetKiloBitrate() | ||||||
|  |     { | ||||||
|  |         $this->object->setKiloBitrate(500); | ||||||
|  |         $this->assertEquals(500, $this->object->getKiloBitrate()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::setKiloBitrate | ||||||
|  |      * @dataProvider getWrongKiloBitrate | ||||||
|  |      * @expectedException \InvalidArgumentException | ||||||
|  |      */ | ||||||
|  |     public function testSetWrongKiloBitrate($kbrate) | ||||||
|  |     { | ||||||
|  |         $this->object->setKiloBitrate($kbrate); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function getWrongKiloBitrate() | ||||||
|  |     { | ||||||
|  |         return array(array(-5), array(0)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::getGOPsize | ||||||
|  |      */ | ||||||
|  |     public function testGetGOPsize() | ||||||
|  |     { | ||||||
|  |         $this->assertEquals(25, $this->object->getGOPsize()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::setGOPsize | ||||||
|  |      */ | ||||||
|  |     public function testSetGOPsize() | ||||||
|  |     { | ||||||
|  |         $this->object->setGOPsize(100); | ||||||
|  |         $this->assertEquals(100, $this->object->getGOPsize()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::setGOPsize | ||||||
|  |      * @dataProvider getWrongGOPsize | ||||||
|  |      * @expectedException \InvalidArgumentException | ||||||
|  |      */ | ||||||
|  |     public function testSetWrongGOPSize($GOP) | ||||||
|  |     { | ||||||
|  |         $this->object->setGOPsize($GOP); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function getWrongGOPsize() | ||||||
|  |     { | ||||||
|  |         return array(array(-5), array(0)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @covers FFMpeg\Format\DefaultFormat::getMultiple | ||||||
|  |      */ | ||||||
|  |     public function testGetMultiple() | ||||||
|  |     { | ||||||
|  |         $this->assertEquals(320, $this->object->getMultiple(321, 16)); | ||||||
|  |         $this->assertEquals(320, $this->object->getMultiple(319, 16)); | ||||||
|  |         $this->assertEquals(320, $this->object->getMultiple(313, 16)); | ||||||
|  |         $this->assertEquals(304, $this->object->getMultiple(312, 16)); | ||||||
|  |         $this->assertEquals(336, $this->object->getMultiple(329, 16)); | ||||||
|  |         $this->assertEquals(16, $this->object->getMultiple(8, 16)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | class DefaultFormatTester extends DefaultFormat | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  |     protected $audioCodec = 'audiocodec1'; | ||||||
|  |     protected $videoCodec = 'videocodec2'; | ||||||
|  | 
 | ||||||
|  |     protected function getAvailableAudioCodecs() | ||||||
|  |     { | ||||||
|  |         return array('audiocodec1', 'audiocodec2', 'audiocodec3'); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     protected function getAvailableVideoCodecs() | ||||||
|  |     { | ||||||
|  |         return array('videocodec1', 'videocodec2'); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function getExtraParams() | ||||||
|  |     { | ||||||
|  |         return '-f format'; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function getMultiple($value, $multiple) | ||||||
|  |     { | ||||||
|  |         return parent::getMultiple($value, $multiple); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue