47 lines
1.3 KiB
Perl
47 lines
1.3 KiB
Perl
|
#!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;
|