From af3b0a550c77b16fb6e9679ce6cc147d35888d04 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Thu, 10 Nov 2016 07:36:08 -0800 Subject: [PATCH] bumped minimum version to PHP 5.6 --- .travis.yml | 1 - CHANGELOG | 2 +- composer.json | 2 +- doc/intro.rst | 2 +- lib/Twig/Node/Macro.php | 22 ++++--------------- .../Tests/Fixtures/filters/urlencode.test | 2 -- .../filters/urlencode_deprecated.test | 16 -------------- test/Twig/Tests/Node/MacroTest.php | 12 ++-------- 8 files changed, 9 insertions(+), 50 deletions(-) delete mode 100644 test/Twig/Tests/Fixtures/filters/urlencode_deprecated.test diff --git a/.travis.yml b/.travis.yml index 2d05b2d67..40f3ef818 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,6 @@ cache: - $HOME/.composer/cache/files php: - - 5.5 - 5.6 - 7.0 - 7.1 diff --git a/CHANGELOG b/CHANGELOG index 461de0fa3..e6ee2e01a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -12,7 +12,7 @@ * removed Twig_Autoloader (use Composer instead) * removed `true` as an equivalent to `html` for the auto-escaping strategy * removed pre-1.8 autoescape tag syntax - * dropped support for PHP 5.2, 5.3, and 5.4 + * dropped support for PHP 5.2, 5.3, 5.4, and 5.5 * removed the ability to register a global variable after the runtime or the extensions have been initialized * improved the performance of the filesystem loader * removed features that were deprecated in 1.x diff --git a/composer.json b/composer.json index 98d83a2a0..03c9046a2 100644 --- a/composer.json +++ b/composer.json @@ -27,7 +27,7 @@ "forum": "https://groups.google.com/forum/#!forum/twig-users" }, "require": { - "php": ">=5.5", + "php": "^5.6|^7.0", "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { diff --git a/doc/intro.rst b/doc/intro.rst index 337228084..fa3f87d9f 100644 --- a/doc/intro.rst +++ b/doc/intro.rst @@ -28,7 +28,7 @@ Slim, Yii, Laravel, Codeigniter and Kohana — just to name a few. Prerequisites ------------- -Twig needs at least **PHP 5.5.0** to run. +Twig needs at least **PHP 5.6.0** to run. Installation ------------ diff --git a/lib/Twig/Node/Macro.php b/lib/Twig/Node/Macro.php index 5252fee29..2cb5fc260 100644 --- a/lib/Twig/Node/Macro.php +++ b/lib/Twig/Node/Macro.php @@ -49,15 +49,12 @@ class Twig_Node_Macro extends Twig_Node } } - if (PHP_VERSION_ID >= 50600) { - if ($count) { - $compiler->raw(', '); - } - - $compiler->raw('...$__varargs__'); + if ($count) { + $compiler->raw(', '); } $compiler + ->raw('...$__varargs__') ->raw(")\n") ->write("{\n") ->indent() @@ -83,19 +80,8 @@ class Twig_Node_Macro extends Twig_Node ->raw(' => ') ; - if (PHP_VERSION_ID >= 50600) { - $compiler->raw("\$__varargs__,\n"); - } else { - $compiler - ->raw('func_num_args() > ') - ->repr($count) - ->raw(' ? array_slice(func_get_args(), ') - ->repr($count) - ->raw(") : array(),\n") - ; - } - $compiler + ->raw("\$__varargs__,\n") ->outdent() ->write("));\n\n") ->write("\$blocks = array();\n\n") diff --git a/test/Twig/Tests/Fixtures/filters/urlencode.test b/test/Twig/Tests/Fixtures/filters/urlencode.test index 8726159db..83a384c14 100644 --- a/test/Twig/Tests/Fixtures/filters/urlencode.test +++ b/test/Twig/Tests/Fixtures/filters/urlencode.test @@ -1,7 +1,5 @@ --TEST-- "url_encode" filter ---CONDITION-- -defined('PHP_QUERY_RFC3986') --TEMPLATE-- {{ {foo: "bar", number: 3, "spéßi%l": "e%c0d@d", "spa ce": ""}|url_encode }} {{ {foo: "bar", number: 3, "spéßi%l": "e%c0d@d", "spa ce": ""}|url_encode|raw }} diff --git a/test/Twig/Tests/Fixtures/filters/urlencode_deprecated.test b/test/Twig/Tests/Fixtures/filters/urlencode_deprecated.test deleted file mode 100644 index 11800e9c0..000000000 --- a/test/Twig/Tests/Fixtures/filters/urlencode_deprecated.test +++ /dev/null @@ -1,16 +0,0 @@ ---TEST-- -"url_encode" filter for PHP < 5.4 and HHVM ---CONDITION-- -defined('PHP_QUERY_RFC3986') ---TEMPLATE-- -{{ {foo: "bar", number: 3, "spéßi%l": "e%c0d@d", "spa ce": ""}|url_encode }} -{{ {foo: "bar", number: 3, "spéßi%l": "e%c0d@d", "spa ce": ""}|url_encode|raw }} -{{ {}|url_encode|default("default") }} -{{ 'spéßi%le%c0d@dspa ce'|url_encode }} ---DATA-- -return array() ---EXPECT-- -foo=bar&number=3&sp%C3%A9%C3%9Fi%25l=e%25c0d%40d&spa%20ce= -foo=bar&number=3&sp%C3%A9%C3%9Fi%25l=e%25c0d%40d&spa%20ce= -default -sp%C3%A9%C3%9Fi%25le%25c0d%40dspa%20ce diff --git a/test/Twig/Tests/Node/MacroTest.php b/test/Twig/Tests/Node/MacroTest.php index 7c4d0a84d..f7beda2a3 100644 --- a/test/Twig/Tests/Node/MacroTest.php +++ b/test/Twig/Tests/Node/MacroTest.php @@ -31,23 +31,15 @@ class Twig_Tests_Node_MacroTest extends Twig_Test_NodeTestCase ), array(), 1); $node = new Twig_Node_Macro('foo', $body, $arguments, 1); - if (PHP_VERSION_ID >= 50600) { - $declaration = ', ...$__varargs__'; - $varargs = '$__varargs__'; - } else { - $declaration = ''; - $varargs = 'func_num_args() > 2 ? array_slice(func_get_args(), 2) : array()'; - } - return array( array($node, <<env->mergeGlobals(array( "foo" => \$__foo__, "bar" => \$__bar__, - "varargs" => $varargs, + "varargs" => \$__varargs__, )); \$blocks = array();