8ff2af5483
Because we're using Text::Template and we know it's a non core Perl module, we choose to bundle it into our source, for convenience. external/perl/Downloaded.txt document what modules we choose to bundle this way and exactly where we downloaded it from. With this changes comes the transfer module for with_fallback. Reviewed-by: Rich Salz <rsalz@openssl.org>
75 lines
2.2 KiB
Perl
75 lines
2.2 KiB
Perl
#!perl
|
|
#
|
|
# test apparatus for Text::Template module
|
|
# still incomplete.
|
|
|
|
use Text::Template 'fill_in_file', 'fill_in_string';
|
|
|
|
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;
|
|
|
|
print "1..6\n";
|
|
|
|
$n=1;
|
|
$Q::n = $Q::n = 119;
|
|
|
|
# (1) Test fill_in_string
|
|
$out = fill_in_string('The value of $n is {$n}.', PACKAGE => 'Q' );
|
|
print +($out eq 'The value of $n is 119.' ? '' : 'not '), "ok $n\n";
|
|
$n++;
|
|
|
|
# (2) Test fill_in_file
|
|
$TEMPFILE = "tt$$";
|
|
open F, "> $TEMPFILE" or die "Couldn't open test file: $!; aborting";
|
|
print F 'The value of $n is {$n}.', "\n";
|
|
close F or die "Couldn't write test file: $!; aborting";
|
|
$R::n = $R::n = 8128;
|
|
|
|
$out = fill_in_file($TEMPFILE, PACKAGE => 'R');
|
|
print +($out eq "The value of \$n is 8128.\n" ? '' : 'not '), "ok $n\n";
|
|
$n++;
|
|
|
|
# (3) Jonathan Roy reported this bug:
|
|
open F, "> $TEMPFILE" or die "Couldn't open test file: $!; aborting";
|
|
print F "With a message here? [% \$var %]\n";
|
|
close F or die "Couldn't close test file: $!; aborting";
|
|
$out = fill_in_file($TEMPFILE, DELIMITERS => ['[%', '%]'],
|
|
HASH => { "var" => \"It is good!" });
|
|
print +($out eq "With a message here? It is good!\n" ? '' : 'not '), "ok $n\n";
|
|
$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!" });
|
|
print +($out eq "With a message here? It is good!\n" ? '' : 'not '), "ok $n\n";
|
|
$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);
|
|
print (($r eq 'Hello Don' ? '' : 'not '), 'ok ', $n++, "\n");
|
|
|
|
# (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);
|
|
print (($r eq 'Hello Don' ? '' : 'not '), 'ok ', $main::n++, "\n");
|
|
|
|
package main;
|
|
|
|
END { $TEMPFILE && unlink $TEMPFILE }
|
|
|
|
exit;
|
|
|