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
|
|
|
|
|
|
|
|
use FFMpeg\FFProbe;
|
2022-02-09 14:32:43 +01:00
|
|
|
use FFMpeg\FFProbe\OutputParser;
|
|
|
|
|
use Tests\FFMpeg\Unit\TestCase;
|
2013-06-25 10:03:20 +02:00
|
|
|
|
|
|
|
|
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()
|
|
|
|
|
{
|
2022-02-09 14:32:43 +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
|
|
|
|
2022-02-09 14:32:43 +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
|
|
|
|
2022-02-09 14:32:43 +01:00
|
|
|
return [
|
|
|
|
|
[FFProbe::TYPE_FORMAT, $rawFormat, $expectedFormat],
|
|
|
|
|
[FFProbe::TYPE_STREAMS, $rawStreams, $expectedStreams],
|
|
|
|
|
];
|
2013-06-25 10:03:20 +02:00
|
|
|
}
|
|
|
|
|
}
|