Example #1
0
 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);
             }
         }
     }
 }
Example #2
0
 /**
  *
  * @dataProvider getProviderSettingTestCases
  */
 public function testConfigureProvider($providerSetting)
 {
     $mockApplication = $this->getMockBuilder('Skip\\WebApplication')->disableOriginalConstructor()->getMock();
     $mockApplication->expects($this->once())->method('register')->will($this->returnCallback(function ($provider, $params) use($providerSetting) {
         $this->assertInstanceOf($providerSetting['class'], $provider);
         if (isset($providerSetting['params'])) {
             $originalParams = $providerSetting['params'];
             $this->assertEquals(gettype($params), gettype($originalParams));
             if (is_array($params)) {
                 foreach ($originalParams as $key => $value) {
                     $this->assertTrue(isset($params[$key]), "Assert provider params has the key '{$key}'");
                     $this->assertEquals($value, $params[$key], "Assert \$params['{$key}'] === \$originalParams['{$key}']");
                 }
             }
         }
     }));
     $config = new Config($mockApplication);
     $config->configureProvider($providerSetting);
 }