/** * @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) { } }
/** * @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)); }