From e43da86152e36d78bba3e4e7ddea5a6aad73f8f5 Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Thu, 5 Sep 2013 11:12:10 +0200 Subject: [PATCH] Fix FiltersCollection::getIterator in case of empty collection --- src/FFMpeg/Filters/FiltersCollection.php | 8 ++++++-- tests/FFMpeg/Tests/Filters/FiltersCollectionTest.php | 6 ++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/FFMpeg/Filters/FiltersCollection.php b/src/FFMpeg/Filters/FiltersCollection.php index d44a880..c91241a 100644 --- a/src/FFMpeg/Filters/FiltersCollection.php +++ b/src/FFMpeg/Filters/FiltersCollection.php @@ -47,8 +47,12 @@ class FiltersCollection implements \Countable, \IteratorAggregate public function getIterator() { if (null === $this->sorted) { - krsort($this->filters); - $this->sorted = call_user_func_array('array_merge', $this->filters); + if (0 === count($this->filters)) { + $this->sorted = $this->filters; + } else { + krsort($this->filters); + $this->sorted = call_user_func_array('array_merge', $this->filters); + } } return new \ArrayIterator($this->sorted); diff --git a/tests/FFMpeg/Tests/Filters/FiltersCollectionTest.php b/tests/FFMpeg/Tests/Filters/FiltersCollectionTest.php index 52a1395..5a29008 100644 --- a/tests/FFMpeg/Tests/Filters/FiltersCollectionTest.php +++ b/tests/FFMpeg/Tests/Filters/FiltersCollectionTest.php @@ -30,6 +30,12 @@ class FiltersCollectionTest extends TestCase $this->assertCount(2, $coll->getIterator()); } + public function testEmptyIterator() + { + $coll = new FiltersCollection(); + $this->assertInstanceOf('\ArrayIterator', $coll->getIterator()); + } + public function testIteratorSort() { $coll = new FiltersCollection();