[ticket/13770] Fix tests

PHPBB3-13770
This commit is contained in:
Nicofuma 2015-05-10 23:54:49 +02:00
parent 549fe66d90
commit 02af9385a1
3 changed files with 61 additions and 51 deletions

View file

@ -96,21 +96,19 @@ set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handle
$phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
$phpbb_class_loader_ext->register();
\Symfony\Component\Debug\Debug::enable(E_ALL);
// Set up container
/*try
{*/
try
{
$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_root_path, $phpEx);
$phpbb_container = $phpbb_container_builder->with_config($phpbb_config_php_file)->get_container();
/*}
}
catch (InvalidArgumentException $e)
{
trigger_error(
'The requested environment ' . PHPBB_ENVIRONMENT . ' is not available.',
E_USER_ERROR
);
}*/
}
$phpbb_class_loader->set_cache($phpbb_container->get('cache.driver'));
$phpbb_class_loader_ext->set_cache($phpbb_container->get('cache.driver'));

View file

@ -117,11 +117,10 @@ $phpbb_class_loader_ext->register();
// Set up container
$phpbb_config_php_file = new \phpbb\config_php_file($phpbb_root_path, $phpEx);
$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_root_path, $phpEx);
$phpbb_container = $phpbb_container_builder
$phpbb_container_builder
->without_extensions()
->without_cache()
->without_compiled_container()
->get_container()
;
$other_config_path = $phpbb_root_path . 'install/update/new/config/';

View file

@ -21,6 +21,7 @@ use Symfony\Component\DependencyInjection\Dumper\PhpDumper;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
use Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass;
use Symfony\Component\Filesystem\Exception\IOException;
use Symfony\Component\HttpKernel\DependencyInjection\MergeExtensionConfigurationPass;
class container_builder
@ -130,48 +131,53 @@ class container_builder
{
require($config_cache->getPath());
$this->container = new \phpbb_cache_container();
return $this->container;
}
$this->container_extensions = array(new extension\core($this->get_config_path()));
if ($this->use_extensions)
else
{
$this->load_extensions();
}
$this->container_extensions = array(new extension\core($this->get_config_path()));
// Inject the config
if ($this->config_php_file)
{
$this->container_extensions[] = new extension\config($this->config_php_file);
}
$this->container = $this->create_container($this->container_extensions);
// Easy collections through tags
$this->container->addCompilerPass(new pass\collection_pass());
// Event listeners "phpBB style"
$this->container->addCompilerPass(new RegisterListenersPass('dispatcher', 'event.listener_listener', 'event.listener'));
// Event listeners "Symfony style"
$this->container->addCompilerPass(new RegisterListenersPass('dispatcher'));
$filesystem = new filesystem();
$loader = new YamlFileLoader($this->container, new FileLocator($filesystem->realpath($this->get_config_path())));
$loader->load($this->container->getParameter('core.environment') . '/config.yml');
$this->inject_custom_parameters();
if ($this->compile_container)
{
$this->container->compile();
if ($this->use_cache)
if ($this->use_extensions)
{
$this->dump_container($config_cache);
$this->load_extensions();
}
// Inject the config
if ($this->config_php_file)
{
$this->container_extensions[] = new extension\config($this->config_php_file);
}
$this->container = $this->create_container($this->container_extensions);
// Easy collections through tags
$this->container->addCompilerPass(new pass\collection_pass());
// Event listeners "phpBB style"
$this->container->addCompilerPass(new RegisterListenersPass('dispatcher', 'event.listener_listener', 'event.listener'));
// Event listeners "Symfony style"
$this->container->addCompilerPass(new RegisterListenersPass('dispatcher'));
$filesystem = new filesystem();
$loader = new YamlFileLoader($this->container, new FileLocator($filesystem->realpath($this->get_config_path())));
$loader->load($this->container->getParameter('core.environment') . '/config.yml');
$this->inject_custom_parameters();
if ($this->compile_container)
{
$this->container->compile();
if ($this->use_cache)
{
$this->dump_container($config_cache);
}
}
}
if ($this->compile_container && $this->config_php_file)
{
$this->container->set('config.php', $this->config_php_file);
}
return $this->container;
@ -394,13 +400,20 @@ class container_builder
*/
protected function dump_container($cache)
{
$dumper = new PhpDumper($this->container);
$cached_container_dump = $dumper->dump(array(
'class' => 'phpbb_cache_container',
'base_class' => 'Symfony\\Component\\DependencyInjection\\ContainerBuilder',
));
try
{
$dumper = new PhpDumper($this->container);
$cached_container_dump = $dumper->dump(array(
'class' => 'phpbb_cache_container',
'base_class' => 'Symfony\\Component\\DependencyInjection\\ContainerBuilder',
));
$cache->write($cached_container_dump, $this->container->getResources());
$cache->write($cached_container_dump, $this->container->getResources());
}
catch (IOException $e)
{
// Don't fail if the cache isn't writeable
}
}
/**