Esempio n. 1
0
 public function case_set_source()
 {
     $this->given($bucket = new SUT(), $sourceA = new \Mock\Hoa\Event\Source())->when($result = $bucket->setSource($sourceA))->then->variable($result)->isNull()->object($bucket->getSource())->isIdenticalTo($sourceA)->given($sourceB = new \Mock\Hoa\Event\Source())->when($result = $bucket->setSource($sourceB))->then->object($result)->isIdenticalTo($sourceA)->object($bucket->getSource())->isIdenticalTo($sourceB);
 }
Esempio n. 2
0
 /**
  * Fire an event
  *
  * @param string                $event
  * @param Hoa\Event\Bucket $bucket
  * @param mixed                 $additionnalData
  * @param boolean               $log
  *
  * @return void
  */
 public function onEvent($event, Bucket $bucket, $additionnalData = null, $log = true)
 {
     $callables = $this->getEventCallables($event);
     if ($log) {
         $rawData = $bucket->getData();
         $this->getLogger()->log('%s - %s (%d) > %s + %s', $bucket->getSource()->getConnection()->getCurrentNode()->getId(), $event, count($callables), json_encode($rawData, JSON_PRETTY_PRINT), json_encode($additionnalData, JSON_PRETTY_PRINT));
     }
     if ($this->hasEvent($event)) {
         foreach ($callables as $callable) {
             list($module, $method) = $callable;
             if ($this->launchModuleAction($event, $module, $method, $bucket, $additionnalData) === false) {
                 break;
             }
         }
     }
 }