public function testGetCalledListeners()
 {
     $dispatcher = new EventDispatcher();
     $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
     $tdispatcher->addListener('foo', $listener = function () {
     });
     $this->assertEquals(array(), $tdispatcher->getCalledListeners());
     $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'type' => 'Closure', 'pretty' => 'closure')), $tdispatcher->getNotCalledListeners());
     $tdispatcher->dispatch('foo');
     $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'type' => 'Closure', 'pretty' => 'closure')), $tdispatcher->getCalledListeners());
     $this->assertEquals(array(), $tdispatcher->getNotCalledListeners());
 }
 public function testGetCalledListeners()
 {
     $dispatcher = new EventDispatcher();
     $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
     $tdispatcher->addListener('foo', $listener = function () {
     });
     $listeners = $tdispatcher->getNotCalledListeners();
     $this->assertArrayHasKey('data', $listeners['foo.closure']);
     unset($listeners['foo.closure']['data']);
     $this->assertEquals(array(), $tdispatcher->getCalledListeners());
     $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'pretty' => 'closure', 'priority' => 0)), $listeners);
     $tdispatcher->dispatch('foo');
     $listeners = $tdispatcher->getCalledListeners();
     $this->assertArrayHasKey('data', $listeners['foo.closure']);
     unset($listeners['foo.closure']['data']);
     $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'pretty' => 'closure', 'priority' => null)), $listeners);
     $this->assertEquals(array(), $tdispatcher->getNotCalledListeners());
 }