Example #1
0
 /**
  * @expectedException Silex\Exception\ControllerFrozenException
  */
 public function testBindOnFrozenControllerShouldThrowException()
 {
     $controller = new Controller(new Route('/foo'));
     $controller->bind('foo');
     $controller->freeze();
     $controller->bind('bar');
 }
 public function testConflictingRouteNames()
 {
     $controllers = new ControllerCollection(new Route());
     $mountedRootController = $controllers->match('/', function () {
     });
     $mainRootController = new Controller(new Route('/'));
     $mainRootController->bind($mainRootController->generateRouteName('main_'));
     $controllers->flush();
     $this->assertNotEquals($mainRootController->getRouteName(), $mountedRootController->getRouteName());
 }
 private function configureController(Controller $controller, $route_name = null, $before = null, $after = null)
 {
     if ($route_name) {
         $controller->bind($route_name);
     }
     if ($before) {
         $controller->before($this->callback_prefix . ":" . $before);
     }
     if ($after) {
         $controller->after($this->callback_prefix . ":" . $after);
     }
 }
 public function testControllerFreezing()
 {
     $controllers = new ControllerCollection();
     $fooController = new Controller(new Route('/foo'));
     $fooController->bind('foo');
     $controllers->add($fooController);
     $barController = new Controller(new Route('/bar'));
     $barController->bind('bar');
     $controllers->add($barController);
     $controllers->flush();
     try {
         $fooController->bind('foo2');
         $this->fail();
     } catch (ControllerFrozenException $e) {
     }
     try {
         $barController->bind('bar2');
         $this->fail();
     } catch (ControllerFrozenException $e) {
     }
 }
Example #5
0
 /**
  * @dataProvider provideRouteAndExpectedRouteName
  */
 public function testDefaultRouteNameGeneration(Route $route, $prefix, $expectedRouteName)
 {
     $controller = new Controller($route);
     $controller->bind($controller->generateRouteName($prefix));
     $this->assertEquals($expectedRouteName, $controller->getRouteName());
 }
 public static function buildRoute(Controller $route, $value, $ctrlPrefix, $actionName)
 {
     $route->bind(self::forUsage($value, $ctrlPrefix, $actionName));
 }