/** * Tests subscribing a listener object and firing the events it subscribed to * * @return void */ public function testDetachSubscriber() { $manager = new EventManager(); $listener = $this->getMock(__NAMESPACE__ . '\\CustomTestEventListener', array('secondListenerFunction')); $manager->attach($listener); $expected = array(array('callable' => array($listener, 'secondListenerFunction'))); $this->assertEquals($expected, $manager->listeners('another.event')); $expected = array(array('callable' => array($listener, 'listenerFunction'))); $this->assertEquals($expected, $manager->listeners('fake.event')); $manager->detach($listener); $this->assertEquals(array(), $manager->listeners('fake.event')); $this->assertEquals(array(), $manager->listeners('another.event')); }
/** * Tests subscribing a listener object and firing the events it subscribed to * * @return void */ public function testDetachSubscriber() { $manager = new EventManager(); $listener = $this->getMock(__NAMESPACE__ . '\\CustomTestEventListenerInterface', ['secondListenerFunction']); $manager->attach($listener); $expected = [['callable' => [$listener, 'secondListenerFunction']]]; $this->assertEquals($expected, $manager->listeners('another.event')); $expected = [['callable' => [$listener, 'listenerFunction']]]; $this->assertEquals($expected, $manager->listeners('fake.event')); $manager->detach($listener); $this->assertEquals([], $manager->listeners('fake.event')); $this->assertEquals([], $manager->listeners('another.event')); }