From 9307bba111336f27d04d81bfbfae173b5c2dfbf0 Mon Sep 17 00:00:00 2001 From: SpacePossum Date: Wed, 16 Nov 2016 11:04:17 +0100 Subject: [PATCH] Simplify power --- lib/Twig/Node/Expression/Binary/Power.php | 4 ++++ .../Tests/Fixtures/expressions/power.test | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 test/Twig/Tests/Fixtures/expressions/power.test diff --git a/lib/Twig/Node/Expression/Binary/Power.php b/lib/Twig/Node/Expression/Binary/Power.php index cd6d04627..76f3a8c86 100644 --- a/lib/Twig/Node/Expression/Binary/Power.php +++ b/lib/Twig/Node/Expression/Binary/Power.php @@ -12,6 +12,10 @@ class Twig_Node_Expression_Binary_Power extends Twig_Node_Expression_Binary { public function compile(Twig_Compiler $compiler) { + if (PHP_VERSION_ID >= 50600) { + return parent::compile($compiler); + } + $compiler ->raw('pow(') ->subcompile($this->getNode('left')) diff --git a/test/Twig/Tests/Fixtures/expressions/power.test b/test/Twig/Tests/Fixtures/expressions/power.test new file mode 100644 index 000000000..eacc98f86 --- /dev/null +++ b/test/Twig/Tests/Fixtures/expressions/power.test @@ -0,0 +1,20 @@ +--TEST-- +Twig parses power expressions +--TEMPLATE-- +{{ 2**3 }} +{{ (-2)**3 }} +{{ (-2)**(-3) }} +{{ a ** a }} +{{ a ** b }} +{{ b ** a }} +{{ b ** b }} +--DATA-- +return array('a' => 4, 'b' => -2); +--EXPECT-- +8 +-8 +-0.125 +256 +0.0625 +16 +0.25