public function testStaticCallable() { $container = $this->getMock('Symfony\\Component\\DependencyInjection\\ContainerInterface'); $dispatcher = new TraceableEventDispatcher($container); $dispatcher->addListener('onFooEvent', array(__NAMESPACE__ . '\\StaticClassFixture', 'staticListener')); $dispatcher->dispatch('onFooEvent'); $this->assertTrue(StaticClassFixture::$called); }
public function testClosureDoesNotTriggerErrorNotice() { $container = $this->getMock('Symfony\\Component\\DependencyInjection\\ContainerInterface'); $dispatcher = new TraceableEventDispatcher($container, new StopWatch()); $triggered = false; $dispatcher->addListener('onFooEvent', function () use(&$triggered) { $triggered = true; }); try { $dispatcher->dispatch('onFooEvent'); } catch (\PHPUnit_Framework_Error_Notice $e) { $this->fail($e->getMessage()); } $this->assertTrue($triggered, 'Closure should have been executed upon dispatch'); }
/** * @expectedException \RuntimeException */ public function testThrowsAnExceptionWhenAListenerMethodIsNotCallable() { $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface'); $dispatcher = new TraceableEventDispatcher($container); $dispatcher->addListener('onFooEvent', new \stdClass()); }