Author: Fabien Potencier (fabien@symfony.com)
Inheritance: extends Symfony\Bundle\FrameworkBundle\ContainerAwareEventDispatcher, implements Symfony\Component\HttpKernel\Debug\TraceableEventDispatcherInterface
 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());
 }