#!/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 ../" ); { local $TODO = "autochomping issues"; 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;