From e04a9a248f380917327aa2ba94b5ff40ccd4e147 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Thu, 14 Mar 2019 10:06:54 +0100 Subject: [PATCH 1/4] added some missing tests --- test/Twig/Tests/Fixtures/tags/set/mutating.test | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 test/Twig/Tests/Fixtures/tags/set/mutating.test diff --git a/test/Twig/Tests/Fixtures/tags/set/mutating.test b/test/Twig/Tests/Fixtures/tags/set/mutating.test new file mode 100644 index 000000000..ae388bb87 --- /dev/null +++ b/test/Twig/Tests/Fixtures/tags/set/mutating.test @@ -0,0 +1,17 @@ +--TEST-- +"set" tag +--TEMPLATE-- +{% set foo = "foo" %} + +{% set bar %} + {%- set foo = "bar" -%} + bar +{% endset %} + +{{ foo }} +{{ bar }} +--DATA-- +return [] +--EXPECT-- +bar +bar From 3412d1a56addcc23dc4c37aede0118da63b6024f Mon Sep 17 00:00:00 2001 From: Fabien Lucas Date: Thu, 14 Mar 2019 11:35:56 +0100 Subject: [PATCH 2/4] Fixed spaceless filter --- src/Extension/CoreExtension.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Extension/CoreExtension.php b/src/Extension/CoreExtension.php index 63265d619..73e83782f 100644 --- a/src/Extension/CoreExtension.php +++ b/src/Extension/CoreExtension.php @@ -997,7 +997,7 @@ function twig_trim_filter($string, $characterMask = null, $side = 'both') */ function twig_spaceless($content) { - return preg_replace('/>\s+<', $content); + return trim(preg_replace('/>\s+<', $content)); } /** From b24d52565ac0290a448f4d4d888c80aa1b1c2348 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Fri, 15 Mar 2019 17:22:49 +0100 Subject: [PATCH 3/4] fixed BC break on Environment::resolveTemplate() --- CHANGELOG | 1 + src/Environment.php | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 209a5fb57..3441e5efa 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,6 @@ * 1.38.3 (2019-XX-XX) + * fixed BC break on Environment::resolveTemplate() * fixed the bundled Autoloader to also load namespaced classes * 1.38.2 (2019-03-12) diff --git a/src/Environment.php b/src/Environment.php index 03a39d6ae..12f518296 100644 --- a/src/Environment.php +++ b/src/Environment.php @@ -597,7 +597,7 @@ class Environment * * @param string|Template|\Twig\TemplateWrapper|array $names A template or an array of templates to try consecutively * - * @return TemplateWrapper + * @return TemplateWrapper|Template * * @throws LoaderError When none of the templates can be found * @throws SyntaxError When an error occurred during compilation @@ -605,13 +605,23 @@ class Environment public function resolveTemplate($names) { if (!\is_array($names)) { - return $this->load($names); + $names = [$names]; } foreach ($names as $name) { + if ($name instanceof Template) { + return $name; + } + if ($name instanceof TemplateWrapper) { + return $name; + } + try { - return $this->load($name); + return $this->loadTemplate($name); } catch (LoaderError $e) { + if (1 === \count($names)) { + throw $e; + } } } From f5689b50e50a53375df26b4c61944cbad492ee16 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Fri, 15 Mar 2019 17:31:30 +0100 Subject: [PATCH 4/4] updated CHANGELOG --- CHANGELOG | 1 + lib/Twig/Autoloader.php | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 3441e5efa..9411161d3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,6 @@ * 1.38.3 (2019-XX-XX) + * fixed the spaceless filter so that it behaves like the spaceless tag * fixed BC break on Environment::resolveTemplate() * fixed the bundled Autoloader to also load namespaced classes diff --git a/lib/Twig/Autoloader.php b/lib/Twig/Autoloader.php index e34e2144f..129de9b54 100644 --- a/lib/Twig/Autoloader.php +++ b/lib/Twig/Autoloader.php @@ -39,6 +39,7 @@ class Twig_Autoloader */ public static function autoload($class) { +error_log($class); if (0 !== strpos($class, 'Twig')) { return; }