#!perl -w use strict; use Test::More; use t::lib::TTSimple; my @data = ( ['Hello, world!' => 'Hello, world!'], ['Hello, [% lang %] world!' => 'Hello, Xslate world!'], ['Hello, [% foo %] world!' => 'Hello, <bar> world!'], ['Hello, [% lang %] [% foo %] world!' => 'Hello, Xslate <bar> world!'], ['Hello, [% $lang %] world!' => 'Hello, Xslate world!'], ['Hello, [% ${lang} %] world!' => 'Hello, Xslate world!'], ['Hello, [% ${ lang } %] world!' => 'Hello, Xslate world!'], ['Hello, [% $no_such_field %] world!' => 'Hello, world!', 'nil as empty'], ['Hello, [% $no_such_field or "Default" %] world!' => 'Hello, Default world!', 'empty or default'], ['[% $IF %]', 'This is IF' ], ['[% +IF %]', 'This is IF' ], ['[% GET lang %]', 'Xslate'], ['[% get lang %]', 'Xslate'], ['[% get IF %]', 'This is IF'], ); my %vars = ( lang => 'Xslate', foo => "", '$lang' => 'XXX', IF => 'This is IF', ); foreach my $pair(@data) { my($in, $out, $msg) = @$pair; is render_str($in, \%vars), $out, $msg or diag $in; } done_testing;