예제 #1
0
 /**
  * @covers TBGEvent::listen
  * @covers TBGEvent::trigger
  * @covers TBGEvent::triggerUntilProcessed
  * @depends testListening
  */
 public function testTriggeringAndProcessing(TBGEvent $event)
 {
     $this->wastriggered = false;
     TBGEvent::clearListeners('modulename', 'identifier');
     TBGEvent::listen('modulename', 'identifier', array($this, 'listenerCallback'));
     $event->trigger();
     $this->assertAttributeEquals(true, 'wastriggered', $this);
     TBGEvent::clearListeners('modulename', 'identifier');
     TBGEvent::listen('modulename', 'identifier', array($this, 'listenerCallbackNonProcessingFirst'));
     TBGEvent::listen('modulename', 'identifier', array($this, 'listenerCallbackNonProcessingSecond'));
     TBGEvent::listen('modulename', 'identifier', array($this, 'listenerCallbackProcessing'));
     $this->wasprocessed = array();
     $event->triggerUntilProcessed();
     $this->assertAttributeNotEmpty('wasprocessed', $this);
     $this->assertAttributeContains(1, 'wasprocessed', $this);
     $this->assertAttributeContains(2, 'wasprocessed', $this);
     $this->assertAttributeNotContains(3, 'wasprocessed', $this);
 }