From 40b16eccf8496abac7cc5acdb8db142f217dabcb Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Fri, 11 Jun 2010 07:10:43 +0200 Subject: [PATCH] fixed infinite loop in inheritance (closes #66) --- lib/Twig/Template.php | 2 +- test/fixtures/tags/inheritance/multiple.test | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletions(-) create mode 100644 test/fixtures/tags/inheritance/multiple.test diff --git a/lib/Twig/Template.php b/lib/Twig/Template.php index 812a1b3..4e486c1 100644 --- a/lib/Twig/Template.php +++ b/lib/Twig/Template.php @@ -27,7 +27,7 @@ abstract class Twig_Template extends Twig_Resource implements Twig_TemplateInter protected function getParent($context, $parents) { - return call_user_func($parents[0], $context, array_slice($parents, 0)); + return call_user_func($parents[0], $context, array_slice($parents, 1)); } public function pushBlocks($blocks) diff --git a/test/fixtures/tags/inheritance/multiple.test b/test/fixtures/tags/inheritance/multiple.test new file mode 100644 index 0000000..4aba998 --- /dev/null +++ b/test/fixtures/tags/inheritance/multiple.test @@ -0,0 +1,12 @@ +--TEST-- +"extends" tag +--TEMPLATE-- +{% extends "layout.twig" %}{% block content %}{% parent %}index {% endblock %} +--TEMPLATE(layout.twig)-- +{% extends "base.twig" %}{% block content %}{% parent %}layout {% endblock %} +--TEMPLATE(base.twig)-- +{% block content %}base {% endblock %} +--DATA-- +return array() +--EXPECT-- +base layout index -- 1.7.2.5