#!perl -w use strict; use Test::More; use Text::Xslate; my $tx = Text::Xslate->new(); my @data = ( [ '<: "foo" :>', "foo"], [q{<: 'bar' :>}, "bar"], ['<: 0 :>', 0], ['<: 42 :>', 42], ['<: 0.01 :>', 0.01 ], ['<: 1.23 :>', 1.23 ], ['<: 1_23 :>', 1_23 ], ['<: 1_23.1_2 :>', 1_23.1_2 ], ['<: 00777 :>', 00777 ], ['<: 0xCAFE :>', 0xCAFE ], ['<: 0b1010 :>', 0b1010 ], ['<: 00_7_7_7 :>', 00777 ], ['<: 0x_C_A_F_E :>', 0xCAFE ], ['<: 0b_1_0_1_0 :>', 0b1010 ], ['<: -10 :>', -10 ], ['<: +10 :>', +10 ], ['<: "-10" :>', "-10" ], ['<: "+10" :>', "+10" ], ['<: "-10.0" :>', "-10.0" ], ['<: "+10.0" :>', "+10.0" ], ['<: "\n\n" :>', "\n\n" ], ['<: "\r\r" :>', "\r\r" ], ['<: "\t\t" :>', "\t\t" ], ['<: "\"\"" :>', """" ], ['<: "\+\+" :>', "\+\+" ], ['<: "\\\\\\\\" :>', "\\\\" ], ['<: "<:$foo:>" :>', '<:$foo:>' ], ['<: "foo@example.com" :>', 'foo@example.com' ], [q{<: '\n\n' :>}, '\n\n' ], [q{<: '\\\\\\\\' :>}, '\\\\' ], [q{<: '\'\'' :>}, '''' ], [q{<: 'foo="bar"' :>}, 'foo="bar"' ], [qq{<: 'foo\n"bar"\nbaz' :>}, qq{foo\n"bar"\nbaz}], [q{<: "foo='bar'" :>}, 'foo='bar'' ], [qq{<: "foo\n'bar'\nbaz" :>}, qq{foo\n'bar'\nbaz}], ); foreach my $pair(@data) { my($in, $out) = @$pair; my %vars; is $tx->render_string($in, \%vars), $out or diag $in; } ok $tx->render_string("<: true :>"); ok !$tx->render_string("<: false :>"); done_testing;