[HttpKernel] Arrays with scalar values passed to ESI fragment renderer throw deprecation notice

This commit is contained in:
Amrouche Hamza 2017-11-29 07:49:34 +01:00
parent 020d78a65b
commit d84b47fe9d
No known key found for this signature in database
GPG Key ID: 6968F2785ED4F012
2 changed files with 11 additions and 3 deletions

View File

@ -98,8 +98,8 @@ abstract class AbstractSurrogateFragmentRenderer extends RoutableFragmentRendere
private function containsNonScalars(array $values)
{
foreach ($values as $value) {
if (is_array($value) && $this->containsNonScalars($value)) {
return true;
if (is_array($value)) {
return $this->containsNonScalars($value);
} elseif (!is_scalar($value) && null !== $value) {
return true;
}

View File

@ -34,7 +34,15 @@ class EsiFragmentRendererTest extends TestCase
{
$strategy = new EsiFragmentRenderer(new Esi(), $this->getInlineStrategy(true), new UriSigner('foo'));
$request = Request::create('/');
$reference = new ControllerReference('main_controller', array('foo' => array('a' => array(), 'b' => new \stdClass())), array());
$reference = new ControllerReference('main_controller', array('foo' => new \stdClass()), array());
$strategy->render($reference, $request);
}
public function testRenderFallbackWithScalarIsNotDeprecated()
{
$strategy = new EsiFragmentRenderer(new Esi(), $this->getInlineStrategy(true), new UriSigner('foo'));
$request = Request::create('/');
$reference = new ControllerReference('main_controller', array('foo' => array(true)), array());
$strategy->render($reference, $request);
}