コード例 #1
0
 /**
  * Makes the error listener.
  *
  * @return \Es\Error\ErrorListener The error listener
  */
 public static function make()
 {
     $services = Provider::getServices();
     $config = $services->get('Config');
     $strategies = [];
     if (isset($config['error']['strategies'])) {
         $strategies = (array) $config['error']['strategies'];
     }
     $listener = new ErrorListener();
     foreach ($strategies as $name) {
         $strategy = $services->get($name);
         $listener->attachErrorStrategy($strategy);
     }
     return $listener;
 }
コード例 #2
0
 public function testInvokeCallHtmlErrorStrategyToProcessProductionError()
 {
     SystemTestHelper::resetSystem();
     $system = System::init([], false);
     $exception = new Exception();
     $systemEvent = $system->getEvent();
     $errorEvent = new ErrorEvent(ErrorEvent::FATAL_ERROR, $exception, $system);
     $server = new Server();
     $strategy = $this->getMock(HtmlErrorStrategy::CLASS);
     $listener = new ErrorListener();
     $listener->setDefaultErrorStrategy($strategy);
     $listener->setServer($server);
     $strategy->expects($this->once())->method('handleProductionError')->with($this->identicalTo($systemEvent), $this->identicalTo($exception));
     $listener($errorEvent);
 }