| 
									
										
										
										
											2013-06-25 10:03:20 +02:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-06 23:38:04 +01:00
										 |  |  | namespace Tests\FFMpeg\Unit\FFProbe; | 
					
						
							| 
									
										
										
										
											2013-06-25 10:03:20 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-06 23:38:04 +01:00
										 |  |  | use Tests\FFMpeg\Unit\TestCase; | 
					
						
							| 
									
										
										
										
											2013-06-25 10:03:20 +02:00
										 |  |  | use FFMpeg\FFProbe\OutputParser; | 
					
						
							|  |  |  | use FFMpeg\FFProbe; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class OutputParserTest extends TestCase | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * @dataProvider provideTypeDataAndOutput | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     public function testParse($type, $data, $expectedOutput) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $parser = new OutputParser(); | 
					
						
							|  |  |  |         $this->assertEquals($expectedOutput, $parser->parse($type, $data)); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public function testParseWithInvalidArgument() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2020-02-13 00:39:31 +01:00
										 |  |  |         $this->expectException('\FFMpeg\Exception\InvalidArgumentException'); | 
					
						
							| 
									
										
										
										
											2013-06-25 10:03:20 +02:00
										 |  |  |         $parser = new OutputParser(); | 
					
						
							|  |  |  |         $parser->parse('comme ca', 'data'); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public function provideTypeDataAndOutput() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2016-03-06 23:38:04 +01:00
										 |  |  |         $expectedFormat = json_decode(file_get_contents(__DIR__ . '/../../fixtures/ffprobe/show_format.json'), true); | 
					
						
							|  |  |  |         $expectedStreams = json_decode(file_get_contents(__DIR__ . '/../../fixtures/ffprobe/show_streams.json'), true); | 
					
						
							| 
									
										
										
										
											2013-06-25 10:03:20 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-06 23:38:04 +01:00
										 |  |  |         $rawFormat = file_get_contents(__DIR__ . '/../../fixtures/ffprobe/show_format.raw'); | 
					
						
							|  |  |  |         $rawStreams = file_get_contents(__DIR__ . '/../../fixtures/ffprobe/show_streams.raw'); | 
					
						
							| 
									
										
										
										
											2013-06-25 10:03:20 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |         return array( | 
					
						
							|  |  |  |             array(FFProbe::TYPE_FORMAT, $rawFormat, $expectedFormat), | 
					
						
							|  |  |  |             array(FFProbe::TYPE_STREAMS, $rawStreams, $expectedStreams), | 
					
						
							|  |  |  |         ); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } |