Example #1
0
 public function testChainWorkFine()
 {
     $that = $this;
     $event = new Event();
     $eventChain = $event->getEventChain();
     $chain1 = function ($args) use($that) {
         $that->chain1Test();
     };
     $chain2 = function ($args) use($that) {
         $that->chain2Test();
     };
     $chain3 = function ($args) use($that) {
         $that->chain3Test();
     };
     $chain4 = function ($args) use($that) {
         $that->chain4Test();
     };
     $event->bind('chain1', $chain1);
     $event->bind('chain2', $chain2);
     $event->bind('chain3', $chain3);
     $event->bind('chain4', $chain4);
     $eventChain->join('chain1', 'chain2', 'chain3', 'chain4');
     $event->fire('chain1');
     $this->assertArrayHasKey('chain1', $this->dataMap, 'event chain1 fail');
     $that->assertEquals('ok', $this->dataMap['chain1'], 'event chain1 fail');
     $this->assertArrayHasKey('chain2', $this->dataMap, 'event chain2 fail');
     $that->assertEquals('ok', $this->dataMap['chain2'], 'event chain2 fail');
     $this->assertArrayHasKey('chain3', $this->dataMap, 'event chain3 fail');
     $that->assertEquals('ok', $this->dataMap['chain3'], 'event chain3 fail');
     $this->assertArrayHasKey('chain4', $this->dataMap, 'event chain4 fail');
     $that->assertEquals('ok', $this->dataMap['chain4'], 'event chain4 fail');
 }