From e569779e3be9ec0fbdae803c1fe381d6ebf65bd3 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Fri, 5 Oct 2012 11:32:17 -0500 Subject: support {{this/foo}} --- lib/Text/Handlebars.pm | 4 ++-- t/expressions.t | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/Text/Handlebars.pm b/lib/Text/Handlebars.pm index 914081f..bbc53a9 100644 --- a/lib/Text/Handlebars.pm +++ b/lib/Text/Handlebars.pm @@ -35,8 +35,8 @@ sub default_functions { die "no iterator cycle provided?" unless defined $i; - $value = ref($value->[$i]) - ? $value->[$i] + $value = ref($value->[$i]) && ref($value->[$i]) eq 'HASH' + ? { '.' => $value->[$i], %{ $value->[$i] } } : { '.' => $value->[$i] }; $ref = ref($value); diff --git a/t/expressions.t b/t/expressions.t index 8f48a5d..163c89b 100644 --- a/t/expressions.t +++ b/t/expressions.t @@ -123,6 +123,19 @@ render_ok( "nested current context" ); +render_ok( + '{{#hellos}}{{this/text}}{{/hellos}}', + { + hellos => [ + { text => 'hello' }, + { text => 'Hello' }, + { text => 'HELLO' }, + ], + }, + 'helloHelloHELLO', + "'this' with paths" +); + render_ok( '{{foo-bar}}', { -- cgit v1.2.3