Example #1
0
 /**
  * Test listeners method.
  */
 public function testListeners()
 {
     $this->given($dispatcher = $this->createEventDispatcher())->and($predispatch = 0)->and($postdispatch = 0)->and($dispatcher->addListener(PreDispatchEvent::class, function (PreDispatchEvent $event) use(&$predispatch) {
         ++$predispatch;
     }))->and($dispatcher->addListener(PostDispatchEvent::class, function (PostDispatchEvent $event) use(&$postdispatch) {
         ++$postdispatch;
     }))->and($event = new LoginUserEvent('*****@*****.**'))->and($dispatcher->addListener($event->eventName(), array(new LoginUserEventListener(), 'onLogin')))->and($dispatcher->addListener('event.foo', function (Event $event) {
     }))->and($dispatcher->addListener('event.bar', function (Event $event) {
     }))->when($listeners = $dispatcher->listeners())->then()->array($listeners->toArray())->hasKey($event->eventName())->hasKey('event.foo')->hasKey('event.bar')->array($listeners->toArray())->hasSize(5)->and()->when($dispatcher->dispatch('event.foo'))->and($dispatcher->dispatch('event.bar'))->then()->integer($predispatch)->isEqualTo($postdispatch)->isEqualTo(2);
 }
Example #2
0
 /**
  * @param LoginUserEvent $event
  *
  * @return bool
  */
 public function onLoginSuccess(LoginUserEvent $event)
 {
     $event->setEmail('*****@*****.**');
 }