1#!perl -w 2 3use strict; 4use Test::More; 5 6use Text::ClearSilver; 7use Carp (); 8 9foreach (1 .. 2) { 10 note $_; 11 12 my $tcs = Text::ClearSilver->new(functions => [qw(string html)]); 13 14 my $out; 15 16 $tcs->process(\q{<?cs var:lc("FOO") ?>}, {}, \$out); 17 is $out, "foo", 'lc'; 18 19 $tcs->process(\q{<?cs var:uc("foo") ?>}, {}, \$out); 20 is $out, "FOO", 'uc'; 21 22 $tcs->process(\q{<?cs var:lcfirst("FOO") ?>}, {}, \$out); 23 is $out, "fOO", 'lcfirst'; 24 25 $tcs->process(\q{<?cs var:ucfirst("foo") ?>}, {}, \$out); 26 is $out, "Foo", 'ucfirst'; 27 28 $tcs->process(\q{<?cs var:substr("foo", 1) ?>}, {}, \$out); 29 is $out, "oo", 'substr'; 30 31 $tcs->process(\q{<?cs var:substr("foo", 1, 1) ?>}, {}, \$out); 32 is $out, "o", 'substr'; 33 34 $tcs->process(\q{<?cs var:sprintf("%1$d %2$d", #10, #20) ?>}, {}, \$out); 35 is $out, '10 20', 'sprintf'; $out = ''; 36 37 $tcs->process(\q{<?cs var:sprintf("%2$s %1$s", #10, #20) ?>}, {}, \$out); 38 is $out, '20 10', 'builtin sprintf'; 39 40 41 $tcs->process(\qq{<?cs var:nl2br("\n\n") ?>}, {}, \$out); 42 is $out, "<br />\n<br />\n", 'nl2br'; 43 44 eval { 45 $out = ''; 46 $tcs->process(\'<?cs var:sprintf() ?>', {}, \$out); 47 }; 48 like $@, qr/\b sprintf \b/xms; 49 is $out, ''; 50 51} 52 53done_testing; 54