diff options
Diffstat (limited to 'external/perl/Text-Template-1.56/t/exported.t')
-rwxr-xr-x | external/perl/Text-Template-1.56/t/exported.t | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/external/perl/Text-Template-1.56/t/exported.t b/external/perl/Text-Template-1.56/t/exported.t new file mode 100755 index 0000000000..ab2adcd4a8 --- /dev/null +++ b/external/perl/Text-Template-1.56/t/exported.t @@ -0,0 +1,68 @@ +#!perl +# +# test apparatus for Text::Template module +# still incomplete. + +use strict; +use warnings; +use Test::More tests => 7; +use File::Temp; + +use_ok 'Text::Template' or exit 1; + +my $tfh = File::Temp->new; + +Text::Template->import('fill_in_file', 'fill_in_string'); + +$Q::n = $Q::n = 119; + +# (1) Test fill_in_string +my $out = fill_in_string('The value of $n is {$n}.', PACKAGE => 'Q'); +is $out, 'The value of $n is 119.'; + +# (2) Test fill_in_file +my $TEMPFILE = $tfh->filename; + +print $tfh 'The value of $n is {$n}.', "\n"; +close $tfh or die "Couldn't write test file: $!; aborting"; + +$R::n = $R::n = 8128; + +$out = fill_in_file($TEMPFILE, PACKAGE => 'R'); +is $out, "The value of \$n is 8128.\n"; + +# (3) Jonathan Roy reported this bug: +open my $ofh, '>', $TEMPFILE or die "Couldn't open test file: $!; aborting"; +print $ofh "With a message here? [% \$var %]\n"; +close $ofh or die "Couldn't close test file: $!; aborting"; +$out = fill_in_file($TEMPFILE, + DELIMITERS => [ '[%', '%]' ], + HASH => { "var" => \"It is good!" }); +is $out, "With a message here? It is good!\n"; + +# (4) It probably occurs in fill_this_in also: +$out = Text::Template->fill_this_in("With a message here? [% \$var %]\n", + DELIMITERS => [ '[%', '%]' ], + HASH => { "var" => \"It is good!" }); +is $out, "With a message here? It is good!\n"; + +# (5) This test failed in 1.25. It was supplied by Donald L. Greer Jr. +# Note that it's different from (1) in that there's no explicit +# package=> argument. +use vars qw($string $foo $r); +$string = 'Hello {$foo}'; +$foo = "Don"; +$r = fill_in_string($string); +is $r, 'Hello Don'; + +# (6) This test failed in 1.25. It's a variation on (5) +package Q2; +use Text::Template 'fill_in_string'; +use vars qw($string $foo $r); +$string = 'Hello {$foo}'; +$foo = "Don"; +$r = fill_in_string($string); + +package main; + +is $Q2::r, 'Hello Don'; |