123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Bridge\Twig\Tests\Extension;
- use Symfony\Component\Form\FormView;
- use Symfony\Bridge\Twig\Form\TwigRenderer;
- use Symfony\Bridge\Twig\Form\TwigRendererEngine;
- use Symfony\Bridge\Twig\Extension\FormExtension;
- use Symfony\Bridge\Twig\Extension\TranslationExtension;
- use Symfony\Component\Form\Tests\AbstractTableLayoutTest;
- use Symfony\Bridge\Twig\Tests\Extension\Fixtures\StubTranslator;
- use Symfony\Bridge\Twig\Tests\Extension\Fixtures\StubFilesystemLoader;
- use Twig\Environment;
- class FormExtensionTableLayoutTest extends AbstractTableLayoutTest
- {
- use RuntimeLoaderProvider;
- private $renderer;
- protected function setUp()
- {
- parent::setUp();
- $loader = new StubFilesystemLoader(array(
- __DIR__.'/../../Resources/views/Form',
- __DIR__.'/Fixtures/templates/form',
- ));
- $environment = new Environment($loader, array('strict_variables' => true));
- $environment->addExtension(new TranslationExtension(new StubTranslator()));
- $environment->addGlobal('global', '');
- $environment->addExtension(new FormExtension());
- $rendererEngine = new TwigRendererEngine(array(
- 'form_table_layout.html.twig',
- 'custom_widgets.html.twig',
- ), $environment);
- $this->renderer = new TwigRenderer($rendererEngine, $this->getMockBuilder('Symfony\Component\Security\Csrf\CsrfTokenManagerInterface')->getMock());
- $this->registerTwigRuntimeLoader($environment, $this->renderer);
- }
- public function testStartTagHasNoActionAttributeWhenActionIsEmpty()
- {
- $form = $this->factory->create('Symfony\Component\Form\Extension\Core\Type\FormType', null, array(
- 'method' => 'get',
- 'action' => '',
- ));
- $html = $this->renderStart($form->createView());
- $this->assertSame('<form name="form" method="get">', $html);
- }
- public function testStartTagHasActionAttributeWhenActionIsZero()
- {
- $form = $this->factory->create('Symfony\Component\Form\Extension\Core\Type\FormType', null, array(
- 'method' => 'get',
- 'action' => '0',
- ));
- $html = $this->renderStart($form->createView());
- $this->assertSame('<form name="form" method="get" action="0">', $html);
- }
- protected function renderForm(FormView $view, array $vars = array())
- {
- return (string) $this->renderer->renderBlock($view, 'form', $vars);
- }
- protected function renderLabel(FormView $view, $label = null, array $vars = array())
- {
- if ($label !== null) {
- $vars += array('label' => $label);
- }
- return (string) $this->renderer->searchAndRenderBlock($view, 'label', $vars);
- }
- protected function renderErrors(FormView $view)
- {
- return (string) $this->renderer->searchAndRenderBlock($view, 'errors');
- }
- protected function renderWidget(FormView $view, array $vars = array())
- {
- return (string) $this->renderer->searchAndRenderBlock($view, 'widget', $vars);
- }
- protected function renderRow(FormView $view, array $vars = array())
- {
- return (string) $this->renderer->searchAndRenderBlock($view, 'row', $vars);
- }
- protected function renderRest(FormView $view, array $vars = array())
- {
- return (string) $this->renderer->searchAndRenderBlock($view, 'rest', $vars);
- }
- protected function renderStart(FormView $view, array $vars = array())
- {
- return (string) $this->renderer->renderBlock($view, 'form_start', $vars);
- }
- protected function renderEnd(FormView $view, array $vars = array())
- {
- return (string) $this->renderer->renderBlock($view, 'form_end', $vars);
- }
- protected function setTheme(FormView $view, array $themes)
- {
- $this->renderer->setTheme($view, $themes);
- }
- }
|