diff options
-rw-r--r-- | composer.json | 2 | ||||
-rw-r--r-- | php-symfony-upstream.patch | 565 | ||||
-rw-r--r-- | php-symfony.spec | 14 |
3 files changed, 8 insertions, 573 deletions
diff --git a/composer.json b/composer.json index 80d2c4d..1c95016 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ "require": { "php": ">=5.3.9", "doctrine/common": "~2.4", - "twig/twig": "~1.26|~2.0", + "twig/twig": "~1.27|~2.0", "psr/log": "~1.0", "symfony/security-acl": "~2.7|~3.0.0", "symfony/polyfill-apcu": "~1.1", diff --git a/php-symfony-upstream.patch b/php-symfony-upstream.patch deleted file mode 100644 index 7ee4018..0000000 --- a/php-symfony-upstream.patch +++ /dev/null @@ -1,565 +0,0 @@ -From f0849d833118e69b0d630047594b046f0d4a34bc Mon Sep 17 00:00:00 2001 -From: Fabien Potencier <fabien.potencier@gmail.com> -Date: Sat, 15 Oct 2016 12:33:44 -0700 -Subject: [PATCH] [TwigBridge] removed deprecations added in Twig 1.27 - ---- - composer.json | 2 +- - src/Symfony/Bridge/Twig/Command/LintCommand.php | 2 +- - .../Twig/Tests/Extension/RoutingExtensionTest.php | 2 +- - .../Tests/Extension/TranslationExtensionTest.php | 2 +- - .../Twig/Tests/NodeVisitor/TwigNodeProvider.php | 2 +- - .../Tests/TokenParser/FormThemeTokenParserTest.php | 2 +- - .../Twig/TokenParser/TransChoiceTokenParser.php | 2 +- - .../Bridge/Twig/TokenParser/TransTokenParser.php | 4 ++-- - .../Bridge/Twig/Translation/TwigExtractor.php | 6 +++--- - src/Symfony/Bridge/Twig/composer.json | 2 +- - src/Symfony/Bundle/SecurityBundle/composer.json | 2 +- - .../DependencyInjection/Configuration.php | 2 +- - .../DependencyInjection/TwigExtensionTest.php | 2 +- - .../TokenParser/LegacyRenderTokenParserTest.php | 2 +- - src/Symfony/Bundle/TwigBundle/TwigEngine.php | 10 ++++----- - src/Symfony/Bundle/TwigBundle/composer.json | 2 +- - .../HttpKernel/DataCollector/DumpDataCollector.php | 25 ++++++++++++---------- - 17 files changed, 37 insertions(+), 34 deletions(-) - -diff --git a/src/Symfony/Bridge/Twig/Command/LintCommand.php b/src/Symfony/Bridge/Twig/Command/LintCommand.php -index df603f9..4ed6324 100644 ---- a/src/Symfony/Bridge/Twig/Command/LintCommand.php -+++ b/src/Symfony/Bridge/Twig/Command/LintCommand.php -@@ -146,7 +146,7 @@ private function validate(\Twig_Environment $twig, $template, $file) - try { - $temporaryLoader = new \Twig_Loader_Array(array((string) $file => $template)); - $twig->setLoader($temporaryLoader); -- $nodeTree = $twig->parse($twig->tokenize($template, (string) $file)); -+ $nodeTree = $twig->parse($twig->tokenize(new \Twig_Source($template, (string) $file))); - $twig->compile($nodeTree); - $twig->setLoader($realLoader); - } catch (\Twig_Error $e) { -diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/RoutingExtensionTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/RoutingExtensionTest.php -index 1c1ac64..87b6052 100644 ---- a/src/Symfony/Bridge/Twig/Tests/Extension/RoutingExtensionTest.php -+++ b/src/Symfony/Bridge/Twig/Tests/Extension/RoutingExtensionTest.php -@@ -23,7 +23,7 @@ public function testEscaping($template, $mustBeEscaped) - $twig = new \Twig_Environment($this->getMock('Twig_LoaderInterface'), array('debug' => true, 'cache' => false, 'autoescape' => 'html', 'optimizations' => 0)); - $twig->addExtension(new RoutingExtension($this->getMock('Symfony\Component\Routing\Generator\UrlGeneratorInterface'))); - -- $nodes = $twig->parse($twig->tokenize($template)); -+ $nodes = $twig->parse($twig->tokenize(new \Twig_Source($template))); - - $this->assertSame($mustBeEscaped, $nodes->getNode('body')->getNode(0)->getNode('expr') instanceof \Twig_Node_Expression_Filter); - } -diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/TranslationExtensionTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/TranslationExtensionTest.php -index a02edc7..0235c4d 100644 ---- a/src/Symfony/Bridge/Twig/Tests/Extension/TranslationExtensionTest.php -+++ b/src/Symfony/Bridge/Twig/Tests/Extension/TranslationExtensionTest.php -@@ -36,7 +36,7 @@ public function testTrans($template, $expected, array $variables = array()) - $twig = new \Twig_Environment($loader, array('debug' => true, 'cache' => false)); - $twig->addExtension(new TranslationExtension(new Translator('en', new MessageSelector()))); - -- echo $twig->compile($twig->parse($twig->tokenize($twig->getLoader()->getSource('index'), 'index')))."\n\n"; -+ echo $twig->compile($twig->parse($twig->tokenize(new \Twig_Source($twig->getLoader()->getSource('index'), 'index'))))."\n\n"; - $this->assertEquals($expected, $this->getTemplate($template)->render($variables)); - } - -diff --git a/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TwigNodeProvider.php b/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TwigNodeProvider.php -index 0e401f6..a90b556 100644 ---- a/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TwigNodeProvider.php -+++ b/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TwigNodeProvider.php -@@ -25,7 +25,7 @@ public static function getModule($content) - new \Twig_Node_Expression_Array(array(), 0), - new \Twig_Node_Expression_Array(array(), 0), - null, -- null -+ new \Twig_Source('') - ); - } - -diff --git a/src/Symfony/Bridge/Twig/Tests/TokenParser/FormThemeTokenParserTest.php b/src/Symfony/Bridge/Twig/Tests/TokenParser/FormThemeTokenParserTest.php -index 2986cd1..aa99132 100644 ---- a/src/Symfony/Bridge/Twig/Tests/TokenParser/FormThemeTokenParserTest.php -+++ b/src/Symfony/Bridge/Twig/Tests/TokenParser/FormThemeTokenParserTest.php -@@ -23,7 +23,7 @@ public function testCompile($source, $expected) - { - $env = new \Twig_Environment($this->getMock('Twig_LoaderInterface'), array('cache' => false, 'autoescape' => false, 'optimizations' => 0)); - $env->addTokenParser(new FormThemeTokenParser()); -- $stream = $env->tokenize($source); -+ $stream = $env->tokenize(new \Twig_Source($source)); - $parser = new \Twig_Parser($env); - - $this->assertEquals($expected, $parser->parse($stream)->getNode('body')->getNode(0)); -diff --git a/src/Symfony/Bridge/Twig/TokenParser/TransChoiceTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/TransChoiceTokenParser.php -index 7ea1a2c..e9e65ad 100644 ---- a/src/Symfony/Bridge/Twig/TokenParser/TransChoiceTokenParser.php -+++ b/src/Symfony/Bridge/Twig/TokenParser/TransChoiceTokenParser.php -@@ -64,7 +64,7 @@ public function parse(\Twig_Token $token) - $body = $this->parser->subparse(array($this, 'decideTransChoiceFork'), true); - - if (!$body instanceof \Twig_Node_Text && !$body instanceof \Twig_Node_Expression) { -- throw new \Twig_Error_Syntax('A message inside a transchoice tag must be a simple text.', $body->getLine(), $stream->getFilename()); -+ throw new \Twig_Error_Syntax('A message inside a transchoice tag must be a simple text.', $body->getLine(), $stream->getSourceContext()->getName()); - } - - $stream->expect(\Twig_Token::BLOCK_END_TYPE); -diff --git a/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php -index 06472d0..1493cf8 100644 ---- a/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php -+++ b/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php -@@ -55,7 +55,7 @@ public function parse(\Twig_Token $token) - $stream->next(); - $locale = $this->parser->getExpressionParser()->parseExpression(); - } elseif (!$stream->test(\Twig_Token::BLOCK_END_TYPE)) { -- throw new \Twig_Error_Syntax('Unexpected token. Twig was looking for the "with", "from", or "into" keyword.', $stream->getCurrent()->getLine(), $stream->getFilename()); -+ throw new \Twig_Error_Syntax('Unexpected token. Twig was looking for the "with", "from", or "into" keyword.', $stream->getCurrent()->getLine(), $stream->getSourceContext()->getName()); - } - } - -@@ -64,7 +64,7 @@ public function parse(\Twig_Token $token) - $body = $this->parser->subparse(array($this, 'decideTransFork'), true); - - if (!$body instanceof \Twig_Node_Text && !$body instanceof \Twig_Node_Expression) { -- throw new \Twig_Error_Syntax('A message inside a trans tag must be a simple text.', $body->getLine(), $stream->getFilename()); -+ throw new \Twig_Error_Syntax('A message inside a trans tag must be a simple text.', $body->getLine(), $stream->getSourceContext()->getName()); - } - - $stream->expect(\Twig_Token::BLOCK_END_TYPE); -diff --git a/src/Symfony/Bridge/Twig/Translation/TwigExtractor.php b/src/Symfony/Bridge/Twig/Translation/TwigExtractor.php -index 2a9450c..69ec1d9 100644 ---- a/src/Symfony/Bridge/Twig/Translation/TwigExtractor.php -+++ b/src/Symfony/Bridge/Twig/Translation/TwigExtractor.php -@@ -62,9 +62,9 @@ public function extract($resource, MessageCatalogue $catalogue) - $this->extractTemplate(file_get_contents($file->getPathname()), $catalogue); - } catch (\Twig_Error $e) { - if ($file instanceof SplFileInfo) { -- $e->setTemplateFile($file->getRelativePathname()); -+ $e->setTemplateName($file->getRelativePathname()); - } elseif ($file instanceof \SplFileInfo) { -- $e->setTemplateFile($file->getRealPath()); -+ $e->setTemplateName($file->getRealPath()); - } - - throw $e; -@@ -85,7 +85,7 @@ protected function extractTemplate($template, MessageCatalogue $catalogue) - $visitor = $this->twig->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->getTranslationNodeVisitor(); - $visitor->enable(); - -- $this->twig->parse($this->twig->tokenize($template)); -+ $this->twig->parse($this->twig->tokenize(new \Twig_Source($template))); - - foreach ($visitor->getMessages() as $message) { - $catalogue->set(trim($message[0]), $this->prefix.trim($message[0]), $message[1] ?: $this->defaultDomain); -diff --git a/src/Symfony/Bundle/TwigBundle/DependencyInjection/Configuration.php b/src/Symfony/Bundle/TwigBundle/DependencyInjection/Configuration.php -index 52c70f3..008f9b7 100644 ---- a/src/Symfony/Bundle/TwigBundle/DependencyInjection/Configuration.php -+++ b/src/Symfony/Bundle/TwigBundle/DependencyInjection/Configuration.php -@@ -167,7 +167,7 @@ private function addTwigOptions(ArrayNodeDefinition $rootNode) - $rootNode - ->fixXmlConfig('path') - ->children() -- ->variableNode('autoescape')->defaultValue('filename')->end() -+ ->variableNode('autoescape')->defaultValue('name')->end() - ->scalarNode('autoescape_service')->defaultNull()->end() - ->scalarNode('autoescape_service_method')->defaultNull()->end() - ->scalarNode('base_template_class')->example('Twig_Template')->cannotBeEmpty()->end() -diff --git a/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php b/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php -index cd39680..fcfa38a 100644 ---- a/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php -+++ b/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php -@@ -147,7 +147,7 @@ public function testLoadDefaultTemplateEscapingGuesserConfiguration($format) - $this->compileContainer($container); - - $options = $container->getDefinition('twig')->getArgument(1); -- $this->assertEquals('filename', $options['autoescape']); -+ $this->assertEquals('name', $options['autoescape']); - } - - public function testGlobalsWithDifferentTypesAndValues() -diff --git a/src/Symfony/Bundle/TwigBundle/Tests/TokenParser/LegacyRenderTokenParserTest.php b/src/Symfony/Bundle/TwigBundle/Tests/TokenParser/LegacyRenderTokenParserTest.php -index e3d0a72..b1f81ec 100644 ---- a/src/Symfony/Bundle/TwigBundle/Tests/TokenParser/LegacyRenderTokenParserTest.php -+++ b/src/Symfony/Bundle/TwigBundle/Tests/TokenParser/LegacyRenderTokenParserTest.php -@@ -27,7 +27,7 @@ public function testCompile($source, $expected) - { - $env = new \Twig_Environment($this->getMock('Twig_LoaderInterface'), array('cache' => false, 'autoescape' => false, 'optimizations' => 0)); - $env->addTokenParser(new RenderTokenParser()); -- $stream = $env->tokenize($source); -+ $stream = $env->tokenize(new \Twig_Source($source)); - $parser = new \Twig_Parser($env); - - $this->assertEquals($expected, $parser->parse($stream)->getNode('body')->getNode(0)); -diff --git a/src/Symfony/Bundle/TwigBundle/TwigEngine.php b/src/Symfony/Bundle/TwigBundle/TwigEngine.php -index 3092fe9..0d01648 100644 ---- a/src/Symfony/Bundle/TwigBundle/TwigEngine.php -+++ b/src/Symfony/Bundle/TwigBundle/TwigEngine.php -@@ -54,13 +54,13 @@ public function setDefaultEscapingStrategy($strategy) - - /** - * @deprecated since version 2.7, to be removed in 3.0. -- * Use the 'filename' strategy instead. -+ * Use the 'name' strategy instead. - */ -- public function guessDefaultEscapingStrategy($filename) -+ public function guessDefaultEscapingStrategy($name) - { - @trigger_error('The '.__METHOD__.' method is deprecated since version 2.7 and will be removed in 3.0. Use the Twig_FileExtensionEscapingStrategy::guess method instead.', E_USER_DEPRECATED); - -- return \Twig_FileExtensionEscapingStrategy::guess($filename); -+ return \Twig_FileExtensionEscapingStrategy::guess($name); - } - - /** -@@ -73,8 +73,8 @@ public function render($name, array $parameters = array()) - } catch (\Twig_Error $e) { - if ($name instanceof TemplateReference) { - try { -- // try to get the real file name of the template where the error occurred -- $e->setTemplateFile(sprintf('%s', $this->locator->locate($this->parser->parse($e->getTemplateFile())))); -+ // try to get the real name of the template where the error occurred -+ $e->setTemplateName(sprintf('%s', $this->locator->locate($this->parser->parse($e->getTemplateName())))); - } catch (\Exception $e2) { - } - } -diff --git a/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php b/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php -index 985db4b..3a445f4 100644 ---- a/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php -+++ b/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php -@@ -97,21 +97,24 @@ public function dump(Data $data) - - break; - } elseif (isset($trace[$i]['object']) && $trace[$i]['object'] instanceof \Twig_Template) { -- $info = $trace[$i]['object']; -- $name = $info->getTemplateName(); -- $src = method_exists($info, 'getSource') ? $info->getSource() : $info->getEnvironment()->getLoader()->getSource($name); -- $info = $info->getDebugInfo(); -+ $template = $trace[$i]['object']; -+ $name = $template->getTemplateName(); -+ $file = method_exists($template, 'getSourceContext') ? $template->getSourceContext()->getPath() : false; -+ $src = method_exists($template, 'getSourceContext') ? $template->getSourceContext()->getCode() : (method_exists($template, 'getSource') ? $template->getSource() : false); -+ $info = $template->getDebugInfo(); - if (null !== $src && isset($info[$trace[$i - 1]['line']])) { -- $file = false; - $line = $info[$trace[$i - 1]['line']]; -- $src = explode("\n", $src); -- $fileExcerpt = array(); - -- for ($i = max($line - 3, 1), $max = min($line + 3, count($src)); $i <= $max; ++$i) { -- $fileExcerpt[] = '<li'.($i === $line ? ' class="selected"' : '').'><code>'.$this->htmlEncode($src[$i - 1]).'</code></li>'; -- } -+ if ($src) { -+ $src = explode("\n", $src); -+ $fileExcerpt = array(); -+ -+ for ($i = max($line - 3, 1), $max = min($line + 3, count($src)); $i <= $max; ++$i) { -+ $fileExcerpt[] = '<li'.($i === $line ? ' class="selected"' : '').'><code>'.$this->htmlEncode($src[$i - 1]).'</code></li>'; -+ } - -- $fileExcerpt = '<ol start="'.max($line - 3, 1).'">'.implode("\n", $fileExcerpt).'</ol>'; -+ $fileExcerpt = '<ol start="'.max($line - 3, 1).'">'.implode("\n", $fileExcerpt).'</ol>'; -+ } - } - break; - } -From bb791d076444e016f7da768212233357eeac49de Mon Sep 17 00:00:00 2001 -From: Fabien Potencier <fabien.potencier@gmail.com> -Date: Wed, 19 Oct 2016 15:17:26 -0700 -Subject: [PATCH] [TwigBridge] Use non-deprecated Twig_Node::getTemplateLine() - ---- - src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php | 2 +- - src/Symfony/Bridge/Twig/Node/TransNode.php | 6 +++--- - .../Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php | 8 ++++---- - src/Symfony/Bridge/Twig/TokenParser/TransChoiceTokenParser.php | 2 +- - src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php | 2 +- - 5 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php b/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php -index 8c42bcd..9cb9648 100644 ---- a/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php -+++ b/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php -@@ -37,7 +37,7 @@ public function compile(\Twig_Compiler $compiler) - // the variables in the third argument - $label = $arguments[1]; - $variables = isset($arguments[2]) ? $arguments[2] : null; -- $lineno = $label->getLine(); -+ $lineno = $label->getTemplateLine(); - - if ($label instanceof \Twig_Node_Expression_Constant) { - // If the label argument is given as a constant, we can either -diff --git a/src/Symfony/Bridge/Twig/Node/TransNode.php b/src/Symfony/Bridge/Twig/Node/TransNode.php -index 114b38c..7b2f9c0 100644 ---- a/src/Symfony/Bridge/Twig/Node/TransNode.php -+++ b/src/Symfony/Bridge/Twig/Node/TransNode.php -@@ -109,18 +109,18 @@ protected function compileString(\Twig_Node $body, \Twig_Node_Expression_Array $ - preg_match_all('/(?<!%)%([^%]+)%/', $msg, $matches); - - foreach ($matches[1] as $var) { -- $key = new \Twig_Node_Expression_Constant('%'.$var.'%', $body->getLine()); -+ $key = new \Twig_Node_Expression_Constant('%'.$var.'%', $body->getTemplateLine()); - if (!$vars->hasElement($key)) { - if ('count' === $var && $this->hasNode('count')) { - $vars->addElement($this->getNode('count'), $key); - } else { -- $varExpr = new \Twig_Node_Expression_Name($var, $body->getLine()); -+ $varExpr = new \Twig_Node_Expression_Name($var, $body->getTemplateLine()); - $varExpr->setAttribute('ignore_strict_check', $ignoreStrictCheck); - $vars->addElement($varExpr, $key); - } - } - } - -- return array(new \Twig_Node_Expression_Constant(str_replace('%%', '%', trim($msg)), $body->getLine()), $vars); -+ return array(new \Twig_Node_Expression_Constant(str_replace('%%', '%', trim($msg)), $body->getTemplateLine()), $vars); - } - } -diff --git a/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php b/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php -index 3e85035..b226d91 100644 ---- a/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php -+++ b/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php -@@ -50,10 +50,10 @@ protected function doEnterNode(\Twig_Node $node, \Twig_Environment $env) - return $node; - } else { - $var = $env->getParser()->getVarName(); -- $name = new \Twig_Node_Expression_AssignName($var, $node->getLine()); -- $this->scope->set('domain', new \Twig_Node_Expression_Name($var, $node->getLine())); -+ $name = new \Twig_Node_Expression_AssignName($var, $node->getTemplateLine()); -+ $this->scope->set('domain', new \Twig_Node_Expression_Name($var, $node->getTemplateLine())); - -- return new \Twig_Node_Set(false, new \Twig_Node(array($name)), new \Twig_Node(array($node->getNode('expr'))), $node->getLine()); -+ return new \Twig_Node_Set(false, new \Twig_Node(array($name)), new \Twig_Node(array($node->getNode('expr'))), $node->getTemplateLine()); - } - } - -@@ -71,7 +71,7 @@ protected function doEnterNode(\Twig_Node $node, \Twig_Environment $env) - } else { - if (!$arguments->hasNode($ind)) { - if (!$arguments->hasNode($ind - 1)) { -- $arguments->setNode($ind - 1, new \Twig_Node_Expression_Array(array(), $node->getLine())); -+ $arguments->setNode($ind - 1, new \Twig_Node_Expression_Array(array(), $node->getTemplateLine())); - } - - $arguments->setNode($ind, $this->scope->get('domain')); -diff --git a/src/Symfony/Bridge/Twig/TokenParser/TransChoiceTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/TransChoiceTokenParser.php -index e9e65ad..fa61a2f 100644 ---- a/src/Symfony/Bridge/Twig/TokenParser/TransChoiceTokenParser.php -+++ b/src/Symfony/Bridge/Twig/TokenParser/TransChoiceTokenParser.php -@@ -64,7 +64,7 @@ public function parse(\Twig_Token $token) - $body = $this->parser->subparse(array($this, 'decideTransChoiceFork'), true); - - if (!$body instanceof \Twig_Node_Text && !$body instanceof \Twig_Node_Expression) { -- throw new \Twig_Error_Syntax('A message inside a transchoice tag must be a simple text.', $body->getLine(), $stream->getSourceContext()->getName()); -+ throw new \Twig_Error_Syntax('A message inside a transchoice tag must be a simple text.', $body->getTemplateLine(), $stream->getSourceContext()->getName()); - } - - $stream->expect(\Twig_Token::BLOCK_END_TYPE); -diff --git a/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php -index 1493cf8..4c8e7d3 100644 ---- a/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php -+++ b/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php -@@ -64,7 +64,7 @@ public function parse(\Twig_Token $token) - $body = $this->parser->subparse(array($this, 'decideTransFork'), true); - - if (!$body instanceof \Twig_Node_Text && !$body instanceof \Twig_Node_Expression) { -- throw new \Twig_Error_Syntax('A message inside a trans tag must be a simple text.', $body->getLine(), $stream->getSourceContext()->getName()); -+ throw new \Twig_Error_Syntax('A message inside a trans tag must be a simple text.', $body->getTemplateLine(), $stream->getSourceContext()->getName()); - } - - $stream->expect(\Twig_Token::BLOCK_END_TYPE); -From b9a4586b24d671a43160cebd58f51bcc278af139 Mon Sep 17 00:00:00 2001 -From: Fabien Potencier <fabien.potencier@gmail.com> -Date: Fri, 21 Oct 2016 18:08:29 -0700 -Subject: [PATCH] [TwigBridge] fixed Twig_Source required argument - ---- - src/Symfony/Bridge/Twig/Tests/Extension/RoutingExtensionTest.php | 2 +- - src/Symfony/Bridge/Twig/Tests/NodeVisitor/TwigNodeProvider.php | 2 +- - src/Symfony/Bridge/Twig/Tests/TokenParser/FormThemeTokenParserTest.php | 2 +- - src/Symfony/Bridge/Twig/Translation/TwigExtractor.php | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/RoutingExtensionTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/RoutingExtensionTest.php -index 87b6052..9733cd7 100644 ---- a/src/Symfony/Bridge/Twig/Tests/Extension/RoutingExtensionTest.php -+++ b/src/Symfony/Bridge/Twig/Tests/Extension/RoutingExtensionTest.php -@@ -23,7 +23,7 @@ public function testEscaping($template, $mustBeEscaped) - $twig = new \Twig_Environment($this->getMock('Twig_LoaderInterface'), array('debug' => true, 'cache' => false, 'autoescape' => 'html', 'optimizations' => 0)); - $twig->addExtension(new RoutingExtension($this->getMock('Symfony\Component\Routing\Generator\UrlGeneratorInterface'))); - -- $nodes = $twig->parse($twig->tokenize(new \Twig_Source($template))); -+ $nodes = $twig->parse($twig->tokenize(new \Twig_Source($template, ''))); - - $this->assertSame($mustBeEscaped, $nodes->getNode('body')->getNode(0)->getNode('expr') instanceof \Twig_Node_Expression_Filter); - } -diff --git a/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TwigNodeProvider.php b/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TwigNodeProvider.php -index a90b556..502cad3 100644 ---- a/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TwigNodeProvider.php -+++ b/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TwigNodeProvider.php -@@ -25,7 +25,7 @@ public static function getModule($content) - new \Twig_Node_Expression_Array(array(), 0), - new \Twig_Node_Expression_Array(array(), 0), - null, -- new \Twig_Source('') -+ new \Twig_Source('', '') - ); - } - -diff --git a/src/Symfony/Bridge/Twig/Tests/TokenParser/FormThemeTokenParserTest.php b/src/Symfony/Bridge/Twig/Tests/TokenParser/FormThemeTokenParserTest.php -index aa99132..6b6a92a 100644 ---- a/src/Symfony/Bridge/Twig/Tests/TokenParser/FormThemeTokenParserTest.php -+++ b/src/Symfony/Bridge/Twig/Tests/TokenParser/FormThemeTokenParserTest.php -@@ -23,7 +23,7 @@ public function testCompile($source, $expected) - { - $env = new \Twig_Environment($this->getMock('Twig_LoaderInterface'), array('cache' => false, 'autoescape' => false, 'optimizations' => 0)); - $env->addTokenParser(new FormThemeTokenParser()); -- $stream = $env->tokenize(new \Twig_Source($source)); -+ $stream = $env->tokenize(new \Twig_Source($source, '')); - $parser = new \Twig_Parser($env); - - $this->assertEquals($expected, $parser->parse($stream)->getNode('body')->getNode(0)); -diff --git a/src/Symfony/Bridge/Twig/Translation/TwigExtractor.php b/src/Symfony/Bridge/Twig/Translation/TwigExtractor.php -index 69ec1d9..917687a 100644 ---- a/src/Symfony/Bridge/Twig/Translation/TwigExtractor.php -+++ b/src/Symfony/Bridge/Twig/Translation/TwigExtractor.php -@@ -85,7 +85,7 @@ protected function extractTemplate($template, MessageCatalogue $catalogue) - $visitor = $this->twig->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->getTranslationNodeVisitor(); - $visitor->enable(); - -- $this->twig->parse($this->twig->tokenize(new \Twig_Source($template))); -+ $this->twig->parse($this->twig->tokenize(new \Twig_Source($template, ''))); - - foreach ($visitor->getMessages() as $message) { - $catalogue->set(trim($message[0]), $this->prefix.trim($message[0]), $message[1] ?: $this->defaultDomain); -From 7b56cc08767bfaa2b1a53f211fd657a8a8328c0f Mon Sep 17 00:00:00 2001 -From: Fabien Potencier <fabien.potencier@gmail.com> -Date: Sun, 23 Oct 2016 22:48:00 -0700 -Subject: [PATCH] removed usage of Twig_Compiler::addIndentation - ---- - src/Symfony/Bridge/Twig/Node/DumpNode.php | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Symfony/Bridge/Twig/Node/DumpNode.php b/src/Symfony/Bridge/Twig/Node/DumpNode.php -index a7c1529..a66781e 100644 ---- a/src/Symfony/Bridge/Twig/Node/DumpNode.php -+++ b/src/Symfony/Bridge/Twig/Node/DumpNode.php -@@ -65,7 +65,7 @@ public function compile(\Twig_Compiler $compiler) - ->write('\Symfony\Component\VarDumper\VarDumper::dump(array('."\n") - ->indent(); - foreach ($values as $node) { -- $compiler->addIndentation(); -+ $compiler->write(''); - if ($node->hasAttribute('name')) { - $compiler - ->string($node->getAttribute('name')) -From 317d46f249893dbb5b0f7b7f4acf2243d3da9127 Mon Sep 17 00:00:00 2001 -From: Fabien Potencier <fabien.potencier@gmail.com> -Date: Fri, 21 Oct 2016 18:11:17 -0700 -Subject: [PATCH] [TwigBundle] fixed usage of getSource in tests - ---- - .../TwigBundle/Tests/Loader/FilesystemLoaderTest.php | 6 +++--- - .../TokenParser/LegacyRenderTokenParserTest.php | 2 +- - .../WebProfilerBundle/Profiler/TemplateManager.php | 6 +++++- - .../Tests/Profiler/TemplateManagerTest.php | 20 +++++++------------- - 4 files changed, 16 insertions(+), 18 deletions(-) - -diff --git a/src/Symfony/Bundle/TwigBundle/Tests/Loader/FilesystemLoaderTest.php b/src/Symfony/Bundle/TwigBundle/Tests/Loader/FilesystemLoaderTest.php -index 269e029..9804c08 100644 ---- a/src/Symfony/Bundle/TwigBundle/Tests/Loader/FilesystemLoaderTest.php -+++ b/src/Symfony/Bundle/TwigBundle/Tests/Loader/FilesystemLoaderTest.php -@@ -17,7 +17,7 @@ - - class FilesystemLoaderTest extends TestCase - { -- public function testGetSource() -+ public function testGetSourceContext() - { - $parser = $this->getMock('Symfony\Component\Templating\TemplateNameParserInterface'); - $locator = $this->getMock('Symfony\Component\Config\FileLocatorInterface'); -@@ -30,10 +30,10 @@ public function testGetSource() - $loader->addPath(__DIR__.'/../DependencyInjection/Fixtures/Resources/views', 'namespace'); - - // Twig-style -- $this->assertEquals("This is a layout\n", $loader->getSource('@namespace/layout.html.twig')); -+ $this->assertEquals("This is a layout\n", $loader->getSourceContext('@namespace/layout.html.twig')->getCode()); - - // Symfony-style -- $this->assertEquals("This is a layout\n", $loader->getSource('TwigBundle::layout.html.twig')); -+ $this->assertEquals("This is a layout\n", $loader->getSourceContext('TwigBundle::layout.html.twig')->getCode()); - } - - public function testExists() -diff --git a/src/Symfony/Bundle/TwigBundle/Tests/TokenParser/LegacyRenderTokenParserTest.php b/src/Symfony/Bundle/TwigBundle/Tests/TokenParser/LegacyRenderTokenParserTest.php -index b1f81ec..6a5806c 100644 ---- a/src/Symfony/Bundle/TwigBundle/Tests/TokenParser/LegacyRenderTokenParserTest.php -+++ b/src/Symfony/Bundle/TwigBundle/Tests/TokenParser/LegacyRenderTokenParserTest.php -@@ -27,7 +27,7 @@ public function testCompile($source, $expected) - { - $env = new \Twig_Environment($this->getMock('Twig_LoaderInterface'), array('cache' => false, 'autoescape' => false, 'optimizations' => 0)); - $env->addTokenParser(new RenderTokenParser()); -- $stream = $env->tokenize(new \Twig_Source($source)); -+ $stream = $env->tokenize(new \Twig_Source($source, '')); - $parser = new \Twig_Parser($env); - - $this->assertEquals($expected, $parser->parse($stream)->getNode('body')->getNode(0)); -diff --git a/src/Symfony/Bundle/WebProfilerBundle/Profiler/TemplateManager.php b/src/Symfony/Bundle/WebProfilerBundle/Profiler/TemplateManager.php -index 5d0fd27..415034a 100644 ---- a/src/Symfony/Bundle/WebProfilerBundle/Profiler/TemplateManager.php -+++ b/src/Symfony/Bundle/WebProfilerBundle/Profiler/TemplateManager.php -@@ -126,7 +126,11 @@ protected function templateExists($template) - } - - try { -- $loader->getSource($template); -+ if ($loader instanceof \Twig_SourceContextLoaderInterface) { -+ $loader->getSourceContext($template); -+ } else { -+ $loader->getSource($template); -+ } - - return true; - } catch (\Twig_Error_Loader $e) { -diff --git a/src/Symfony/Bundle/WebProfilerBundle/Tests/Profiler/TemplateManagerTest.php b/src/Symfony/Bundle/WebProfilerBundle/Tests/Profiler/TemplateManagerTest.php -index 29238a2..c9b199e 100644 ---- a/src/Symfony/Bundle/WebProfilerBundle/Tests/Profiler/TemplateManagerTest.php -+++ b/src/Symfony/Bundle/WebProfilerBundle/Tests/Profiler/TemplateManagerTest.php -@@ -32,11 +32,6 @@ class TemplateManagerTest extends TestCase - protected $profiler; - - /** -- * @var \PHPUnit_Framework_MockObject_MockObject -- */ -- protected $profile; -- -- /** - * @var \Symfony\Bundle\WebProfilerBundle\Profiler\TemplateManager - */ - protected $templateManager; -@@ -129,11 +124,7 @@ public function profileHasCollectorCallback($panel) - - protected function mockProfile() - { -- $this->profile = $this->getMockBuilder('Symfony\Component\HttpKernel\Profiler\Profile') -- ->disableOriginalConstructor() -- ->getMock(); -- -- return $this->profile; -+ return $this->getMockBuilder('Symfony\Component\HttpKernel\Profiler\Profile')->disableOriginalConstructor()->getMock(); - } - - protected function mockTwigEnvironment() -@@ -144,9 +135,12 @@ protected function mockTwigEnvironment() - ->method('loadTemplate') - ->will($this->returnValue('loadedTemplate')); - -- $this->twigEnvironment->expects($this->any()) -- ->method('getLoader') -- ->will($this->returnValue($this->getMock('\Twig_LoaderInterface'))); -+ if (interface_exists('\Twig_SourceContextLoaderInterface')) { -+ $loader = $this->getMock('\Twig_SourceContextLoaderInterface'); -+ } else { -+ $loader = $this->getMock('\Twig_LoaderInterface'); -+ } -+ $this->twigEnvironment->expects($this->any())->method('getLoader')->will($this->returnValue($loader)); - - return $this->twigEnvironment; - } diff --git a/php-symfony.spec b/php-symfony.spec index d44c336..db69e68 100644 --- a/php-symfony.spec +++ b/php-symfony.spec @@ -13,8 +13,8 @@ %global github_owner symfony %global github_name symfony -%global github_version 2.8.12 -%global github_commit 6a5bc3257b60098c28fc1bbcacd52000dd2801d1 +%global github_version 2.8.13 +%global github_commit d04e2eb13ae63068fc8862530b403756e3702896 %global github_short %(c=%{github_commit}; echo ${c:0:7}) %global composer_vendor symfony @@ -106,7 +106,7 @@ Name: php-%{composer_project} Version: %{github_version} -Release: 4%{?dist} +Release: 1%{?dist} Summary: PHP framework for web projects Group: Development/Libraries @@ -114,8 +114,6 @@ License: MIT URL: http://symfony.com Source0: https://github.com/%{github_owner}/%{github_name}/archive/%{github_commit}/%{name}-%{github_version}-%{github_short}.tar.gz -Patch0: %{name}-upstream.patch - BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch # Tests @@ -1755,8 +1753,6 @@ The YAML Component loads and dumps YAML files. %prep %setup -qn %{github_name}-%{github_commit} -%patch0 -p1 - : Remove unnecessary files find src -name '.git*' -delete @@ -2690,6 +2686,10 @@ exit $RET # ############################################################################## %changelog +* Thu Oct 27 2016 Remi Collet <remi@fedoraproject.org> - 2.8.12-1 +- Update to 2.8.12 +- raise dependency on twig 1.27 + * Wed Oct 26 2016 Remi Collet <remi@fedoraproject.org> - 2.8.12-4 - add upstream patch for Twig 1.27 |