| #!perl |
| |
| use strict; |
| use warnings; |
| use Text::Template; |
| |
| # Minimum Test::More version; 0.94+ is required for `done_testing` |
| BEGIN { |
| unless (eval { require Test::More; "$Test::More::VERSION" >= 0.94; }) { |
| Test::More::plan(skip_all => '[ Test::More v0.94+ ] is required for testing'); |
| } |
| |
| Test::More->import; |
| |
| # Non-CORE module(s) |
| unless (eval { require Test::Warnings; 1; }) { |
| plan(skip_all => '[ Test::Warnings ] is required for testing'); |
| } |
| |
| Test::Warnings->import; |
| } |
| |
| my $template = <<'EOT'; |
| {{ |
| if ($good =~ /good/) { |
| 'This template should not produce warnings.'.$bad; |
| } |
| }} |
| EOT |
| |
| $template = Text::Template->new(type => 'STRING', source => $template); |
| isa_ok $template, 'Text::Template'; |
| |
| my $result = $template->fill_in(HASH => { good => 'good' }); |
| |
| $result =~ s/(?:^\s+)|(?:\s+$)//gs; |
| is $result, 'This template should not produce warnings.'; |
| |
| # see https://github.com/mschout/perl-text-template/issues/10 |
| $template = Text::Template->new(type => 'STRING', package => 'MY', source => ''); |
| $template->fill_in(package => 'MY', hash => { include => sub { 'XX' } }); |
| |
| $template = Text::Template->new(type => 'STRING', package => 'MY', source => ''); |
| $template->fill_in(package => 'MY', hash => { include => sub { 'XX' } }); |
| |
| done_testing; |