[DI] Fixed bug requesting non existing service from dumped frozen container
This commit is contained in:
parent
f03a4894d5
commit
8bb4e4d332
|
@ -849,7 +849,11 @@ EOF;
|
|||
private function addAliases()
|
||||
{
|
||||
if (!$aliases = $this->container->getAliases()) {
|
||||
return '';
|
||||
if ($this->container->isFrozen()) {
|
||||
return "\n \$this->aliases = array();\n";
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
$code = " \$this->aliases = array(\n";
|
||||
|
|
|
@ -134,6 +134,18 @@ class PhpDumperTest extends \PHPUnit_Framework_TestCase
|
|||
$this->assertSame($foo, $container->get('alias_for_alias'));
|
||||
}
|
||||
|
||||
public function testFrozenContainerWithoutAliases()
|
||||
{
|
||||
$container = new ContainerBuilder();
|
||||
$container->compile();
|
||||
|
||||
$dumper = new PhpDumper($container);
|
||||
eval('?>'.$dumper->dump(array('class' => 'Symfony_DI_PhpDumper_Test_Frozen_No_Aliases')));
|
||||
|
||||
$container = new \Symfony_DI_PhpDumper_Test_Frozen_No_Aliases();
|
||||
$this->assertFalse($container->has('foo'));
|
||||
}
|
||||
|
||||
public function testOverrideServiceWhenUsingADumpedContainer()
|
||||
{
|
||||
require_once self::$fixturesPath.'/php/services9.php';
|
||||
|
|
|
@ -36,6 +36,8 @@ class ProjectServiceContainer extends Container
|
|||
$this->methodMap = array(
|
||||
'test' => 'getTestService',
|
||||
);
|
||||
|
||||
$this->aliases = array();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -34,6 +34,8 @@ class ProjectServiceContainer extends Container
|
|||
$this->methodMap = array(
|
||||
'foo' => 'getFooService',
|
||||
);
|
||||
|
||||
$this->aliases = array();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Reference in New Issue