Commit f109eb94 authored by Fabien Potencier's avatar Fabien Potencier

bug #1235 Fix bug: TwigServiceProvider is broken if FormServiceProvider is registered (andytruong)

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

Discussion
----------

Fix bug: TwigServiceProvider is broken if FormServiceProvider is registered

form.csrf_provider is refactored to csrf.token_manager.

Commits
-------

57317e9b Fix bug: TwigServiceProvider is broken if FormServiceProvider is registered.
parents e6d86cbc 57317e9b
...@@ -94,7 +94,7 @@ class TwigServiceProvider implements ServiceProviderInterface ...@@ -94,7 +94,7 @@ class TwigServiceProvider implements ServiceProviderInterface
}; };
$app['twig.form.renderer'] = function ($app) { $app['twig.form.renderer'] = function ($app) {
return new TwigRenderer($app['twig.form.engine'], $app['form.csrf_provider']); return new TwigRenderer($app['twig.form.engine'], $app['csrf.token_manager']);
}; };
$twig->addExtension(new FormExtension($app['twig.form.renderer'])); $twig->addExtension(new FormExtension($app['twig.form.renderer']));
......
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
namespace Silex\Tests\Provider; namespace Silex\Tests\Provider;
use Silex\Application; use Silex\Application;
use Silex\Provider\CsrfServiceProvider;
use Silex\Provider\FormServiceProvider;
use Silex\Provider\TwigServiceProvider; use Silex\Provider\TwigServiceProvider;
use Silex\Provider\AssetServiceProvider; use Silex\Provider\AssetServiceProvider;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
...@@ -93,4 +95,16 @@ class TwigServiceProviderTest extends \PHPUnit_Framework_TestCase ...@@ -93,4 +95,16 @@ class TwigServiceProviderTest extends \PHPUnit_Framework_TestCase
$this->assertEquals('Fabien', $app['twig']->render('hello')); $this->assertEquals('Fabien', $app['twig']->render('hello'));
} }
public function testFormFactory()
{
$app = new Application();
$app->register(new FormServiceProvider());
$app->register(new CsrfServiceProvider());
$app->register(new TwigServiceProvider());
$this->assertInstanceOf('Twig_Environment', $app['twig'], 'Service twig 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.');
}
} }
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