Example #1
0
 /**
  * Tests fireing an event until true is reached
  * @return void
  */
 public function testFireUtil()
 {
     $event = new Event();
     $value1 = null;
     $value2 = null;
     $event[] = function ($event, $value) use(&$value1) {
         $value1 = $value;
         return false;
     };
     $event[] = function ($event, $value) use(&$value2) {
         $value2 = $value;
         return false;
     };
     $event->fireUntil('hello');
     $this->assertEquals('hello', $value1);
     $this->assertEquals('hello', $value2);
     $value3 = null;
     $value4 = null;
     $event[] = function ($event, $value) use(&$value3) {
         $value3 = $value;
         return true;
     };
     $event[] = function ($event, $value) use(&$value4) {
         $value4 = $value;
         return false;
     };
     $event->fireUntil('hello2');
     $this->assertEquals('hello2', $value1);
     $this->assertEquals('hello2', $value2);
     $this->assertEquals('hello2', $value3);
     $this->assertNull($value4);
 }