Merge pull request #49 from pamil/bug-with-bootstrap-variables

Allow "APP_ENV" and "APP_DEBUG" server/env variables set in bootstrap to affect kernel arguments
This commit is contained in:
Kamil Kokot
2019-01-16 21:38:26 +01:00
committed by GitHub
2 changed files with 47 additions and 2 deletions

View File

@@ -130,6 +130,29 @@ Feature: Configuring application kernel
When I run Behat
Then it should pass
Scenario: Using environment based on a server variable set in the bootstrap file
Given a feature file containing:
"""
Feature:
Scenario:
And the application kernel should have environment "custom"
"""
And a Behat configuration containing:
"""
default:
extensions:
FriendsOfBehat\SymfonyExtension:
bootstrap: config/bootstrap.php
"""
And a bootstrap file "config/bootstrap.php" containing:
"""
<?php
$_SERVER['APP_ENV'] = 'custom';
"""
When I run Behat
Then it should pass
Scenario: Using debug based on Behat configuration
Given a Behat configuration containing:
"""
@@ -201,3 +224,26 @@ Feature: Configuring application kernel
And an environment variable "APP_DEBUG" set to "1"
When I run Behat
Then it should pass
Scenario: Using debug based on a server variable set in the bootstrap file
Given a feature file containing:
"""
Feature:
Scenario:
And the application kernel should have debug disabled
"""
And a Behat configuration containing:
"""
default:
extensions:
FriendsOfBehat\SymfonyExtension:
bootstrap: config/bootstrap.php
"""
And a bootstrap file "config/bootstrap.php" containing:
"""
<?php
$_SERVER['APP_DEBUG'] = '0';
"""
When I run Behat
Then it should pass

View File

@@ -69,7 +69,7 @@ final class SymfonyExtension implements Extension
public function load(ContainerBuilder $container, array $config): void
{
$container->setParameter('fob_symfony.bootstrap', $config['bootstrap']);
$this->processBootstrap($this->autodiscoverBootstrap($config['bootstrap']));
$this->loadKernel($container, $this->autodiscoverKernelConfiguration($config['kernel']));
$this->loadDriverKernel($container);
@@ -86,7 +86,6 @@ final class SymfonyExtension implements Extension
public function process(ContainerBuilder $container): void
{
$this->processBootstrap($this->autodiscoverBootstrap($container->getParameter('fob_symfony.bootstrap')));
}
private function registerMinkDriver(ExtensionManager $extensionManager): void