diff options
Diffstat (limited to 'external/perl/Text-Template-1.46/t/14-broken.t')
-rw-r--r-- | external/perl/Text-Template-1.46/t/14-broken.t | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/external/perl/Text-Template-1.46/t/14-broken.t b/external/perl/Text-Template-1.46/t/14-broken.t new file mode 100644 index 0000000000..d362395cfb --- /dev/null +++ b/external/perl/Text-Template-1.46/t/14-broken.t @@ -0,0 +1,82 @@ +#!perl +# test apparatus for Text::Template module + +use Text::Template; + +print "1..5\n"; + +$n=1; + +die "This is the test program for Text::Template version 1.46. +You are using version $Text::Template::VERSION instead. +That does not make sense.\n +Aborting" + unless $Text::Template::VERSION == 1.46; + +# (1) basic error delivery +{ my $r = Text::Template->new(TYPE => 'string', + SOURCE => '{1/0}', + )->fill_in(); + if ($r eq q{Program fragment delivered error ``Illegal division by zero at template line 1.''}) { + print "ok $n\n"; + } else { + print "not ok $n\n# $r\n"; + } + $n++; +} + +# (2) BROKEN sub called in ->new? +{ my $r = Text::Template->new(TYPE => 'string', + SOURCE => '{1/0}', + BROKEN => sub {'---'}, + )->fill_in(); + if ($r eq q{---}) { + print "ok $n\n"; + } else { + print "not ok $n\n# $r\n"; + } + $n++; +} + +# (3) BROKEN sub called in ->fill_in? +{ my $r = Text::Template->new(TYPE => 'string', + SOURCE => '{1/0}', + )->fill_in(BROKEN => sub {'---'}); + if ($r eq q{---}) { + print "ok $n\n"; + } else { + print "not ok $n\n# $r\n"; + } + $n++; +} + +# (4) BROKEN sub passed correct args when called in ->new? +{ my $r = Text::Template->new(TYPE => 'string', + SOURCE => '{1/0}', + BROKEN => sub { my %a = @_; + qq{$a{lineno},$a{error},$a{text}} + }, + )->fill_in(); + if ($r eq qq{1,Illegal division by zero at template line 1.\n,1/0}) { + print "ok $n\n"; + } else { + print "not ok $n\n# $r\n"; + } + $n++; +} + +# (5) BROKEN sub passed correct args when called in ->fill_in? +{ my $r = Text::Template->new(TYPE => 'string', + SOURCE => '{1/0}', + )->fill_in(BROKEN => + sub { my %a = @_; + qq{$a{lineno},$a{error},$a{text}} + }); + if ($r eq qq{1,Illegal division by zero at template line 1.\n,1/0}) { + print "ok $n\n"; + } else { + print "not ok $n\n# $r\n"; + } + $n++; +} + |