/** * @param Suite $suite * @param string $listenerName * @param array $listenerAttributes */ private function addListenerToSuite(Suite $suite, $listenerName, array $listenerAttributes) { Assert::keyExists($listenerAttributes, 'options'); $listener = $this->listenerRegistry->getListener($listenerName); $listenerOptions = $this->optionsProcessor->processConfiguration($listener, $listenerAttributes['options']); $listenerPriority = isset($listenerAttributes['priority']) ? $listenerAttributes['priority'] : 0; $suite->addListener($listener, $listenerOptions, $listenerPriority); }
function it_creates_a_new_suite_with_customized_listener(ListenerRegistryInterface $listenerRegistry, Processor $optionsProcessor, ListenerInterface $listener) { $listenerRegistry->getListener('listener')->willReturn($listener); $optionsProcessor->processConfiguration($listener, [['listener_option' => 'listener_value']])->willReturn(['listener_option' => 'listener_value']); $suite = $this->createSuite('suite_name', ['fixtures' => [], 'listeners' => ['listener' => ['options' => [['listener_option' => 'listener_value']]]]]); $suite->getName()->shouldReturn('suite_name'); $suite->getListeners()->shouldHaveKeyWithValue($listener, ['listener_option' => 'listener_value']); }