public function configure() { $configuration = $this->loader->load(); $config = new Config($this, $this->console); if (isset($configuration['providers'])) { foreach ($configuration['providers'] as $provider) { $config->configureProvider($provider); } } if (isset($configuration['settings'])) { $config->configureSettings($configuration['settings']); } if (isset($configuration['routes'])) { foreach ($configuration['routes'] as $routeName => $route) { $config->configureRoute($route, $routeName); } } if (isset($configuration['services'])) { foreach ($configuration['services'] as $serviceName => $service) { $config->configureService($serviceName, $service); } } if ($this->console != null && isset($configuration['console'])) { $consoleSettings = $configuration['console']; if (isset($consoleSettings['commands']) && is_array($consoleSettings['commands'])) { foreach ($consoleSettings['commands'] as $commandSetting) { $config->configureCommand($commandSetting); } } } }
/** * test a route flagged as debug = true IS registered when $app['debug'] == true */ public function testDebugRouteIsRegistered() { $routeName = 'test'; $routeSettings = array('route' => '/', 'controller' => 'Skip\\Test\\Helper\\TestServiceProvider::testAction', 'debug' => true); $mockController = $this->getMockBuilder('Silex\\Controller')->disableOriginalConstructor()->setMethods(array('method', 'bind', 'value', 'assert', 'convert', 'before', 'after'))->getMock(); $mockController->expects($this->once())->method('bind')->will($this->returnCallback(function ($name) use($routeName) { $this->assertEquals($routeName, $name); })); $mockApplication = $this->getMockBuilder('Skip\\WebApplication')->disableOriginalConstructor()->getMock(); $mockApplication->expects($this->once())->method('offsetGet')->will($this->returnCallback(function () { return true; })); $mockApplication->expects($this->once())->method('match')->will($this->returnCallback(function ($routePath, $controller) use($routeSettings, $mockController) { $this->assertEquals($routePath, $routeSettings['route']); $this->assertEquals($controller, $routeSettings['controller']); return $mockController; })); $mockApplication['debug'] = true; $config = new Config($mockApplication); $config->configureRoute($routeSettings, $routeName); }