X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fbehat%2Fbehat%2Fsrc%2FBehat%2FTestwork%2FOutput%2FNode%2FEventListener%2FChainEventListener.php;fp=vendor%2Fbehat%2Fbehat%2Fsrc%2FBehat%2FTestwork%2FOutput%2FNode%2FEventListener%2FChainEventListener.php;h=0c76bac39d9a9c7b246ffad2f1117204c5adce34;hp=0000000000000000000000000000000000000000;hb=1270d9129ce8f27c9b28b10518e32132c58e0aca;hpb=c27c0f0cdaa3f354b1fe54a56ae7e854be6e3f68 diff --git a/vendor/behat/behat/src/Behat/Testwork/Output/Node/EventListener/ChainEventListener.php b/vendor/behat/behat/src/Behat/Testwork/Output/Node/EventListener/ChainEventListener.php new file mode 100644 index 000000000..0c76bac39 --- /dev/null +++ b/vendor/behat/behat/src/Behat/Testwork/Output/Node/EventListener/ChainEventListener.php @@ -0,0 +1,66 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Behat\Testwork\Output\Node\EventListener; + +use ArrayIterator; +use Behat\Testwork\Output\Formatter; +use Countable; +use IteratorAggregate; +use Symfony\Component\EventDispatcher\Event; + +/** + * Used to compose formatter event listeners. + * + * @author Konstantin Kudryashov + */ +class ChainEventListener implements EventListener, Countable, IteratorAggregate +{ + /** + * @var EventListener[] + */ + private $listeners; + + /** + * Initializes collection. + * + * @param EventListener[] $listeners + */ + public function __construct(array $listeners) + { + $this->listeners = $listeners; + } + + /** + * {@inheritdoc} + */ + public function listenEvent(Formatter $formatter, Event $event, $eventName) + { + foreach ($this->listeners as $listener) { + $listener->listenEvent($formatter, $event, $eventName); + } + } + + /** + * {@inheritdoc} + */ + public function count() + { + return count($this->listeners); + } + + /** + * {@inheritdoc} + */ + public function getIterator() + { + return new ArrayIterator($this->listeners); + } +}