From f76e67f91dde6b94e51505206d30a605f90f083a Mon Sep 17 00:00:00 2001 From: Andrey Grachov Date: Fri, 10 Oct 2014 23:28:30 +0300 Subject: [PATCH] Fixed usage of LimitIterator --- lib/Twig/Extension/Core.php | 2 +- test/Twig/Tests/Fixtures/filters/slice.test | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/lib/Twig/Extension/Core.php b/lib/Twig/Extension/Core.php index 761d737..a6bf955 100644 --- a/lib/Twig/Extension/Core.php +++ b/lib/Twig/Extension/Core.php @@ -697,7 +697,7 @@ function twig_slice(Twig_Environment $env, $item, $start, $length = null, $prese } if ($start >= 0 && $length >= 0) { - return iterator_to_array(new LimitIterator($item, $start, $length), $preserveKeys); + return iterator_to_array(new LimitIterator($item, $start, $length === null ? -1 : $length), $preserveKeys); } $item = iterator_to_array($item, $preserveKeys); diff --git a/test/Twig/Tests/Fixtures/filters/slice.test b/test/Twig/Tests/Fixtures/filters/slice.test index b37ad65..fb36a4e 100644 --- a/test/Twig/Tests/Fixtures/filters/slice.test +++ b/test/Twig/Tests/Fixtures/filters/slice.test @@ -19,6 +19,9 @@ {{ '1234'|slice(1) }} {{ '1234'[1:] }} {{ '1234'[:1] }} + +{{ arr|slice(3)|join('') }} +{{ arr[2:]|join('') }} --DATA-- return array('start' => 1, 'length' => 2, 'arr' => new ArrayObject(array(1, 2, 3, 4))) --EXPECT-- @@ -40,3 +43,6 @@ bc 234 234 1 + +4 +34 \ No newline at end of file -- 1.7.2.5