#!/usr/bin/env perl
use strict;
use warnings;
use lib 't/lib';
use Test::More;
use Test::Handlebars;
render_ok(
'
{{title}}
',
{ title => 'Xslate rocks' },
'Xslate rocks
',
"basic variables"
);
render_ok(
'{{article.title}}
',
{ article => { title => 'Hash references rock' } },
'Hash references rock
',
". separator"
);
render_ok(
'{{article/title}}
',
{ article => { title => 'Deprecated syntax does not' } },
'Deprecated syntax does not
',
"/ separator"
);
render_ok(
'{{page.article.title}}
- {{date}}',
{
page => {
article => { title => 'Multilevel field access' },
},
date => '2012-10-01',
},
'Multilevel field access
- 2012-10-01',
"multilevel field access with ."
);
render_ok(
'{{#article}}{{title}}
- {{../date}}{{/article}}',
{ article => { title => 'Backtracking' }, date => '2012-10-01' },
'Backtracking
- 2012-10-01',
"backtracking with ../"
);
render_ok(
<<'TEMPLATE',
{{#page}}
{{#article}}{{title}}
- {{../../date}}{{/article}}
{{/page}}
TEMPLATE
{
page => {
article => { title => 'Multilevel Backtracking' },
},
date => '2012-10-01',
},
<<'RENDERED',
Multilevel Backtracking
- 2012-10-01
RENDERED
"multilevel backtracking with ../"
);
render_ok(
'{{#article}}{{title}}
- {{../metadata.date}}{{/article}}',
{
article => { title => 'Backtracking' },
metadata => { date => '2012-10-01' },
},
'Backtracking
- 2012-10-01',
"backtracking into other hash variables with ../ and ."
);
done_testing;