public function testDispatchSingleClass() { $em = new EventManager(); $instance = new AnnotationListener(); $em->addListener('eventOne', array($instance, 'listenerOne')); $em->dispatch('eventOne', new Event()); $this->assertTrue($instance->listenerOneCalled); $this->assertFalse($instance->listenerTwoCalled); }
/** * Registers listeners for the supplied service instance. Listeners are obtained from ServiceMetadata for * the class of the instance. * * @param object $service */ protected function registerListeners($service) { $serviceMetadata = $this->serviceMetadataFactory->getMetadataFor(get_class($service)); foreach ($serviceMetadata->getAllListeners() as $event => $listeners) { foreach ($listeners as $listener) { $this->eventManager->addListener($event, array($service, $listener)); } } }
public function testDispatchClosureListener() { $em = new EventManager(); $listenerCalled = false; $listener = function (Event $event) use(&$listenerCalled) { $listenerCalled = true; }; $em->addListener('event', $listener); $em->dispatch('event', new Event()); $this->assertTrue($listenerCalled); }
public function testAddListener() { $em = new EventManager(); $em->addListener('boundEvent', array($this, 'listener')); $this->assertCount(1, $em->getListeners('boundEvent')); }