From 8234f2add4a01001d5e1a9ac1f84ee634f1a6154 Mon Sep 17 00:00:00 2001 From: Oliver Hoff Date: Wed, 28 Sep 2016 20:37:03 +0200 Subject: [PATCH 1/3] #17580 compound forms without children should be considered rendered implicitly --- src/Symfony/Component/Form/FormView.php | 8 ++- .../Extension/Core/Type/FormTypeTest.php | 61 +++++++++++++++++-- 2 files changed, 62 insertions(+), 7 deletions(-) diff --git a/src/Symfony/Component/Form/FormView.php b/src/Symfony/Component/Form/FormView.php index 401288cf83..73e38d358e 100644 --- a/src/Symfony/Component/Form/FormView.php +++ b/src/Symfony/Component/Form/FormView.php @@ -65,8 +65,12 @@ class FormView implements \ArrayAccess, \IteratorAggregate, \Countable */ public function isRendered() { - if (true === $this->rendered || 0 === count($this->children)) { - return $this->rendered; + if ($this->rendered) { + return true; + } + + if (isset($this->vars['compound']) ? !$this->vars['compound'] : 0 === count($this->children)) { + return false; } foreach ($this->children as $child) { diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/FormTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/FormTypeTest.php index 2b4b255b0d..d7c5cb4050 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/FormTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/FormTypeTest.php @@ -488,16 +488,67 @@ class FormTypeTest extends BaseTypeTest $this->assertTrue($view->vars['multipart']); } - public function testViewIsNotRenderedByDefault() + public function testViewIsConsideredRenderedForRenderedNonCompoundForms() { - $view = $this->factory->createBuilder('form') - ->add('foo', 'form') - ->getForm() - ->createView(); + $view = $this->factory->createBuilder('form', null, array( + 'compound' => false, + )) + ->getForm() + ->createView(); + + $view->setRendered(); + + $this->assertTrue($view->isRendered()); + } + + public function testViewIsNotConsideredRenderedImplicitlyForNonCompoundForms() + { + $view = $this->factory->createBuilder('form', null, array( + 'compound' => false, + )) + ->getForm() + ->createView(); $this->assertFalse($view->isRendered()); } + public function testViewIsNotConsideredRenderedImplicitlyForCompoundFormsWithNonCompoundChildren() + { + $view = $this->factory->createBuilder('form') + ->add('foo', 'form', array( + 'compound' => false, + )) + ->getForm() + ->createView(); + + $this->assertFalse($view->isRendered()); + } + + public function testViewIsConsideredRenderedImplicitlyForCompoundFormsWithRenderedNonCompoundChildren() + { + $view = $this->factory->createBuilder('form') + ->add('foo', 'form', array( + 'compound' => false, + )) + ->getForm() + ->createView(); + + foreach ($view as $child) { + $child->setRendered(); + } + + $this->assertTrue($view->isRendered()); + } + + public function testViewIsConsideredRenderedImplicitlyForCompoundFormsWithoutChildren() + { + $view = $this->factory->createBuilder('form') + ->getForm() + ->createView(); + + $this->assertTrue($view->isRendered()); + } + public function testErrorBubblingIfCompound() { $form = $this->factory->create('form', null, array( From 35091b1837d20bad770f7f7c5559e802b393053e Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Thu, 29 Sep 2016 16:48:55 -0700 Subject: [PATCH 2/3] Revert "bug #20080 [Form] compound forms without children should be considered rendered implicitly (backbone87)" This reverts commit eae5a9ba0b4350bd046be635364ab51e320e921b, reversing changes made to fd763ad5a315e4559fd3e964a9bfb619474e79d8. --- src/Symfony/Component/Form/FormView.php | 8 +-- .../Extension/Core/Type/FormTypeTest.php | 61 ++----------------- 2 files changed, 7 insertions(+), 62 deletions(-) diff --git a/src/Symfony/Component/Form/FormView.php b/src/Symfony/Component/Form/FormView.php index 73e38d358e..401288cf83 100644 --- a/src/Symfony/Component/Form/FormView.php +++ b/src/Symfony/Component/Form/FormView.php @@ -65,12 +65,8 @@ class FormView implements \ArrayAccess, \IteratorAggregate, \Countable */ public function isRendered() { - if ($this->rendered) { - return true; - } - - if (isset($this->vars['compound']) ? !$this->vars['compound'] : 0 === count($this->children)) { - return false; + if (true === $this->rendered || 0 === count($this->children)) { + return $this->rendered; } foreach ($this->children as $child) { diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/FormTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/FormTypeTest.php index d7c5cb4050..2b4b255b0d 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/FormTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/FormTypeTest.php @@ -488,67 +488,16 @@ class FormTypeTest extends BaseTypeTest $this->assertTrue($view->vars['multipart']); } - public function testViewIsConsideredRenderedForRenderedNonCompoundForms() + public function testViewIsNotRenderedByDefault() { - $view = $this->factory->createBuilder('form', null, array( - 'compound' => false, - )) - ->getForm() - ->createView(); - - $view->setRendered(); - - $this->assertTrue($view->isRendered()); - } - - public function testViewIsNotConsideredRenderedImplicitlyForNonCompoundForms() - { - $view = $this->factory->createBuilder('form', null, array( - 'compound' => false, - )) - ->getForm() - ->createView(); + $view = $this->factory->createBuilder('form') + ->add('foo', 'form') + ->getForm() + ->createView(); $this->assertFalse($view->isRendered()); } - public function testViewIsNotConsideredRenderedImplicitlyForCompoundFormsWithNonCompoundChildren() - { - $view = $this->factory->createBuilder('form') - ->add('foo', 'form', array( - 'compound' => false, - )) - ->getForm() - ->createView(); - - $this->assertFalse($view->isRendered()); - } - - public function testViewIsConsideredRenderedImplicitlyForCompoundFormsWithRenderedNonCompoundChildren() - { - $view = $this->factory->createBuilder('form') - ->add('foo', 'form', array( - 'compound' => false, - )) - ->getForm() - ->createView(); - - foreach ($view as $child) { - $child->setRendered(); - } - - $this->assertTrue($view->isRendered()); - } - - public function testViewIsConsideredRenderedImplicitlyForCompoundFormsWithoutChildren() - { - $view = $this->factory->createBuilder('form') - ->getForm() - ->createView(); - - $this->assertTrue($view->isRendered()); - } - public function testErrorBubblingIfCompound() { $form = $this->factory->create('form', null, array( From fcd6ec2a5e19e9d403939d4b005f6165313144bc Mon Sep 17 00:00:00 2001 From: Tugdual Saunier Date: Fri, 30 Sep 2016 14:26:39 +0100 Subject: [PATCH 3/3] [TwigBundle] Fix CacheWarmingTest are order dependent --- .../Bundle/TwigBundle/Tests/Functional/CacheWarmingTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Bundle/TwigBundle/Tests/Functional/CacheWarmingTest.php b/src/Symfony/Bundle/TwigBundle/Tests/Functional/CacheWarmingTest.php index 610bfa3b58..0b04f81af0 100644 --- a/src/Symfony/Bundle/TwigBundle/Tests/Functional/CacheWarmingTest.php +++ b/src/Symfony/Bundle/TwigBundle/Tests/Functional/CacheWarmingTest.php @@ -72,7 +72,7 @@ class CacheWarmingKernel extends Kernel { $this->withTemplating = $withTemplating; - parent::__construct('dev', true); + parent::__construct(($withTemplating ? 'with' : 'without').'_templating', true); } public function getName() @@ -106,7 +106,7 @@ class CacheWarmingKernel extends Kernel public function getCacheDir() { - return sys_get_temp_dir().'/'.Kernel::VERSION.'/CacheWarmingKernel/cache'; + return sys_get_temp_dir().'/'.Kernel::VERSION.'/CacheWarmingKernel/cache/'.$this->environment; } public function getLogDir()