/**
  * Use the register method to register items with the container via the
  * protected $this->container property or the `getContainer` method
  * from the ContainerAwareTrait.
  */
 public function register()
 {
     $this->container->share(RouteCollection::class, function () {
         $strategy = new ParamStrategy();
         $strategy->setContainer($this->container);
         $routes = new RouteCollection($this->container);
         $routes->setStrategy($strategy);
         // Register routes
         $routes->get('/', DeployController::class . '::index');
         $routes->get('/{task}', DeployController::class . '::index');
         $routes->get('/run/{hash}/{command}', DeployController::class . '::run');
         return $routes;
     });
 }
 public function testCustomRequestParameter()
 {
     $container = new Container();
     $fakeController = $this->getMockBuilder('FakeController')->setMethods(array('display'))->getMock();
     $fakeController->expects($this->any())->method('display')->will($this->returnValue(new Response()));
     $container->add('Controller', $fakeController);
     $routes = new RouteCollection($container);
     $routes->setStrategy(new ControllerDefinitionStrategy());
     $middleware = new DefineControllerMiddleware($routes, 'customRequestParameter');
     $routes->get('test/{name}', 'Controller::display');
     $request = $middleware->prepare(Request::create('test/george'));
     $definition = $request->attributes->get('customRequestParameter');
     $this->assertInstanceOf('Laasti\\Route\\ControllerDefinition', $definition);
     $this->assertInstanceOf('FakeController', $definition->getInstance());
     $this->assertInstanceOf('Symfony\\Component\\HttpFoundation\\Request', $request);
     $this->assertEquals('george', $definition->getArguments()['name']);
 }
 /**
  * REST – Post
  * @param $router
  */
 protected function setupRESTPost(RouteCollection $router)
 {
     $router->get('/backend/rest/post/{id}', 'Post\\IndexController::getById');
     $router->get('/backend/rest/post/by-ids/{ids}', 'Post\\IndexController::getByIds');
     $router->get('/backend/rest/post/query/', 'Post\\IndexController::getByQuery');
 }
 public function setUp()
 {
     $routes = new RouteCollection();
     $urls = [$routes->get('users', 'History\\Http\\Controllers\\FooController::index'), $routes->get('users/{user}', 'History\\Http\\Controllers\\FooController::show')];
     $this->generator = new UrlGenerator('History', $urls);
 }