Beispiel #1
0
 /**
  * @group before_match
  */
 public function testBeforeMatch()
 {
     require_once 'tests/module/Application/src/Router/BeforeMatchMock.php';
     Route::reset();
     $trace = 0;
     $router = new Router($this->getDi());
     $router->addRoute('fail', ['route' => '/route-fail', 'definitions' => ['controller' => 'fail', 'index' => 'fail'], 'before_match' => function () use(&$trace) {
         $trace++;
         return false;
     }]);
     $router->addRoute('success', ['route' => '/route-success', 'definitions' => ['controller' => 'success', 'index' => 'success'], 'before_match' => ['class_name' => BeforeMatchMock::class]]);
     $router->handle();
     $this->assertFalse($router->wasMatched());
     $router->handle('/route-fail');
     $this->assertFalse($router->wasMatched());
     $this->assertEquals($trace, 1);
     $router->handle('/route-success');
     $this->assertTrue($router->wasMatched());
 }