public function testListeners() { $eventManager = new EventManager(); $eventManager->addListener('event1', function ($e) { // some code ... }, 2); $eventManager->addListener('event1', function ($e) { // some code ... }, 2); $eventManager->addListener('event1', function ($e) { // some code ... }, 1); $eventManager->addListener('event2', function ($e) { // some code ... }); $this->assertTrue($eventManager->hasListeners('event1')); $this->assertTrue($eventManager->hasListeners('event2')); $this->assertFalse($eventManager->hasListeners('event3')); include_once __DIR__ . DIRECTORY_SEPARATOR . 'resources' . DIRECTORY_SEPARATOR . 'ListenerForTesting.php'; $listenerObj = new ListenerForTesting(); $eventManager->addListenerObject($listenerObj); $this->assertTrue($eventManager->hasListeners('event3')); $listeners = $eventManager->getListeners('event1'); // priority levels $this->assertEquals(count($listeners), 2); $eventManager->removeListeners('event1'); $this->assertFalse($eventManager->hasListeners('event1')); }