public function testCanTriggerMultipleListeners() { $listener = new Test_Event_ListenerObj(); Events_Manager::listensToEvents($listener); Events_Manager::listensToEvents('Test_Event_ListenerStatic'); $obj = new Test_Event_Triggered(); // entry conditions $listeners = Events_Manager::getListeners(); $this->assertEquals(2, count($listeners)); $this->assertEquals(2, count($listeners['testEvent1'])); $this->assertEquals(2, count($listeners['testEvent2'])); // change state $obj->doSomething(); $obj->doSomethingElse(); // retest $this->assertEquals(2, $listener->eventsTriggered); $this->assertEquals(array('e', 'f', 'g'), $listener->data); $this->assertEquals(2, Test_Event_ListenerStatic::$eventsTriggered); $this->assertEquals(array('e', 'f', 'g'), Test_Event_ListenerStatic::$data); }