Commit 1f061677 authored by Fabien Potencier's avatar Fabien Potencier

bug #1332 Fixing TwigServiceProvider when used with FormServiceProvider but...

bug #1332 Fixing TwigServiceProvider when used with FormServiceProvider but without CsrfServiceProvider (skalpa)

This PR was merged into the 2.0.x-dev branch.

Discussion
----------

Fixing TwigServiceProvider when used with FormServiceProvider but without CsrfServiceProvider

Trivial fix for #1331, with test.

Commits
-------

cd682f5f Changing the declaration of twig.form.render to ensure it won't choke if CsrfServiceProvider is not used.
parents 670fd5d3 cd682f5f
...@@ -102,7 +102,9 @@ class TwigServiceProvider implements ServiceProviderInterface ...@@ -102,7 +102,9 @@ class TwigServiceProvider implements ServiceProviderInterface
}; };
$app['twig.form.renderer'] = function ($app) { $app['twig.form.renderer'] = function ($app) {
return new TwigRenderer($app['twig.form.engine'], $app['csrf.token_manager']); $csrfTokenManager = isset($app['csrf.token_manager']) ? $app['csrf.token_manager'] : null;
return new TwigRenderer($app['twig.form.engine'], $csrfTokenManager);
}; };
$twig->addExtension(new FormExtension($app['twig.form.renderer'])); $twig->addExtension(new FormExtension($app['twig.form.renderer']));
......
...@@ -107,4 +107,13 @@ class TwigServiceProviderTest extends \PHPUnit_Framework_TestCase ...@@ -107,4 +107,13 @@ class TwigServiceProviderTest extends \PHPUnit_Framework_TestCase
$this->assertInstanceOf('Symfony\Bridge\Twig\Form\TwigRendererEngine', $app['twig.form.engine'], 'Service twig.form.engine is created successful.'); $this->assertInstanceOf('Symfony\Bridge\Twig\Form\TwigRendererEngine', $app['twig.form.engine'], 'Service twig.form.engine is created successful.');
$this->assertInstanceOf('Symfony\Bridge\Twig\Form\TwigRenderer', $app['twig.form.renderer'], 'Service twig.form.renderer is created successful.'); $this->assertInstanceOf('Symfony\Bridge\Twig\Form\TwigRenderer', $app['twig.form.renderer'], 'Service twig.form.renderer is created successful.');
} }
public function testFormWithoutCsrf()
{
$app = new Application();
$app->register(new FormServiceProvider());
$app->register(new TwigServiceProvider());
$this->assertInstanceOf('Twig_Environment', $app['twig']);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment