Example #1
0
 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);
 }