use Test::More tests => 8;
use HTML::Template::JIT;
my $debug = 0;
# try some looping
$template = HTML::Template::JIT->new(filename => 'loop.tmpl',
path => ['t/templates'],
jit_path => 't/jit_path',
jit_debug => $debug,
);
$template->param(foo => "FOO");
$template->param(bar => [ { val => 'foo' }, { val => 'bar' } ]);
$output = $template->output();
like($output, qr/foo: FOO/);
like($output, qr/bar: foo,bar,/);
# loops within loops
$template = HTML::Template::JIT->new(filename => 'loop2.tmpl',
path => ['t/templates'],
jit_path => 't/jit_path',
jit_debug => $debug,
);
$template->param(outer => [
{
outer_var => 10,
inner => [
{ inner_var => 1 },
{ inner_var => 1 },
{ inner_var => 1 },
{ inner_var => 1 },
],
},
{
outer_var => 1,
inner => [
{ inner_var => 10},
{ inner_var => 10},
{ inner_var => 10},
{ inner_var => 10},
],
}
]);
$output = $template->output();
like($output, qr/OUTER: 10/);
like($output, qr/OUTER: 1/);
like($output, qr/INNER: 10/);
like($output, qr/INNER: 1/);
# test a template using loop_context_vars
$template = HTML::Template::JIT->new(
filename => 't/templates/context.tmpl',
loop_context_vars => 1,
jit_path => 't/jit_path',
jit_debug => $debug,
);
$template->param(FRUIT => [
{KIND => 'Apples'},
{KIND => 'Oranges'},
{KIND => 'Brains'},
{KIND => 'Toes'},
{KIND => 'Kiwi'}
]);
$template->param(PINGPONG => [ {}, {}, {}, {}, {}, {} ]);
$output = $template->output;
like($output, qr/Apples, Oranges, Brains, Toes, and Kiwi./);
like($output, qr/pingpongpingpongpingpong/);