/** * {@inheritdoc} */ public function load(SuiteInterface $suite) { $suiteEvent = new SuiteEvent($suite); $this->executeBeforeSuiteListeners($suite, $suiteEvent); $this->decoratedSuiteLoader->load($suite); $this->executeAfterSuiteListeners($suite, $suiteEvent); }
function it_executes_customized_suite_listeners(SuiteLoaderInterface $decoratedSuiteLoader, SuiteInterface $suite, BeforeSuiteListenerInterface $beforeSuiteListener, AfterSuiteListenerInterface $afterSuiteListener) { $suite->getListeners()->will(function () use($beforeSuiteListener, $afterSuiteListener) { (yield $beforeSuiteListener->getWrappedObject() => ['listener_option1' => 'listener_value1']); (yield $afterSuiteListener->getWrappedObject() => ['listener_option2' => 'listener_value2']); }); $beforeSuiteListener->beforeSuite(new SuiteEvent($suite->getWrappedObject()), ['listener_option1' => 'listener_value1'])->shouldBeCalledTimes(1); $decoratedSuiteLoader->load($suite)->shouldBeCalled(); $afterSuiteListener->afterSuite(new SuiteEvent($suite->getWrappedObject()), ['listener_option2' => 'listener_value2'])->shouldBeCalledTimes(1); $this->load($suite); }