12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #!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;
|