#!perl -w
use strict;
use Test::More;
use t::lib::TTSimple;
my @data = (
[<<'T', <<'X' ],
[% SWITCH lang -%]
[% CASE "Xslate" -%]
ok
[% CASE DEFAULT -%]
unlikely
[% END -%]
T
ok
X
[<<'T', <<'X' ],
[% SWITCH lang -%]
[% CASE "Perl" -%]
unlikely
[% CASE DEFAULT -%]
ok
[% END -%]
T
ok
X
[<<'T', <<'X' ],
[% SWITCH lang -%]
[% CASE ["TTerse", "Xslate"] -%]
ok
[% CASE DEFAULT -%]
unlikely
[% END -%]
T
ok
X
[<<'T', <<'X' ],
[% SWITCH lang -%]
[% CASE "TTerse" -%]
unlikely
[% CASE "Xslate" -%]
ok
[% CASE DEFAULT -%]
unlikely
[% END -%]
T
ok
X
[<<'T', <<'X' ],
[% SWITCH lang -%]
[% CASE "TTerse" -%]
unlikely
[% CASE "Perl" -%]
unlikely
[% END -%]
T
X
[<<'T', <<'X' ],
[% SWITCH value -%]
[% CASE 10 -%]
ok
[% END -%]
T
ok
X
[<<'T', <<'X' ],
[% SWITCH lang -%]
[% CASE DEFAULT -%]
ok
[% END -%]
T
ok
X
[<<'T', <<'X', 'extra newline'],
[% SWITCH lang -%]
[% CASE "TTerse" -%]
unlikely
[% CASE "Xslate" -%]
ok
[% CASE DEFAULT -%]
unlikely
[% END -%]
T
ok
X
[<<'T', <<'X', 'lower cased'],
[% switch lang -%]
[% case "TTerse" -%]
unlikely
[% case "Xslate" -%]
ok
[% case default -%]
unlikely
[% end -%]
T
ok
X
);
foreach my $d(@data) {
my($in, $out, $msg) = @$d;
my %vars = (
lang => 'Xslate',
void => '',
value => 10,
);
is render_str($in, \%vars), $out, $msg or diag($in);
}
done_testing;