Add filter priorities

This commit is contained in:
Romain Neutron 2013-06-26 00:21:12 +02:00
commit 890cbce1f9
10 changed files with 156 additions and 33 deletions

View file

@ -3,8 +3,10 @@
namespace FFMpeg\Tests\Filters;
use FFMpeg\Filters\FiltersCollection;
use FFMpeg\Filters\Audio\SimpleFilter;
use FFMpeg\Tests\TestCase;
class FiltersCollectionTest extends \PHPUnit_Framework_TestCase
class FiltersCollectionTest extends TestCase
{
public function testCount()
{
@ -27,4 +29,28 @@ class FiltersCollectionTest extends \PHPUnit_Framework_TestCase
$this->assertInstanceOf('\ArrayIterator', $coll->getIterator());
$this->assertCount(2, $coll->getIterator());
}
public function testIteratorSort()
{
$coll = new FiltersCollection();
$coll->add(new SimpleFilter(array('a')));
$coll->add(new SimpleFilter(array('1'), 12));
$coll->add(new SimpleFilter(array('b')));
$coll->add(new SimpleFilter(array('2'), 12));
$coll->add(new SimpleFilter(array('c')));
$coll->add(new SimpleFilter(array('3'), 10));
$coll->add(new SimpleFilter(array('d')));
$coll->add(new SimpleFilter(array('4'), -2));
$coll->add(new SimpleFilter(array('e')));
$data = array();
$video = $this->getVideoMock();
$format = $this->getMock('FFMpeg\Format\AudioInterface');
foreach ($coll as $filter) {
$data = array_merge($data, $filter->apply($video, $format));
}
$this->assertEquals(array('1', '2', '3', 'a', 'b', 'c', 'd', 'e', '4'), $data);
}
}