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>
52 lines
1.4 KiB
Perl
52 lines
1.4 KiB
Perl
#!perl
|
|
#
|
|
# Tests for PREPROCESSOR features
|
|
# These tests first appeared in version 1.25.
|
|
|
|
use Text::Template::Preprocess;
|
|
|
|
die "This is the test program for Text::Template::Preprocess version 1.46.
|
|
You are using version $Text::Template::Preprocess::VERSION instead.
|
|
That does not make sense.\n
|
|
Aborting"
|
|
unless $Text::Template::Preprocess::VERSION == 1.46;
|
|
|
|
$TMPFILE = "tt$$";
|
|
|
|
print "1..8\n";
|
|
my $n = 1;
|
|
|
|
my $py = sub { tr/x/y/ };
|
|
my $pz = sub { tr/x/z/ };
|
|
|
|
my $t = 'xxx The value of $x is {$x}';
|
|
my $outx = 'xxx The value of $x is 119';
|
|
my $outy = 'yyy The value of $y is 23';
|
|
my $outz = 'zzz The value of $z is 5';
|
|
open TF, "> $TMPFILE" or die "Couldn't open test file: $!; aborting";
|
|
print TF $t;
|
|
close TF;
|
|
|
|
@result = ($outx, $outy, $outz, $outz);
|
|
for my $trial (1, 0) {
|
|
for my $test (0 .. 3) {
|
|
my $tmpl;
|
|
if ($trial == 0) {
|
|
$tmpl = new Text::Template::Preprocess
|
|
(TYPE => 'STRING', SOURCE => $t) or die;
|
|
} else {
|
|
open TF, "< $TMPFILE" or die "Couldn't open test file: $!; aborting";
|
|
$tmpl = new Text::Template::Preprocess
|
|
(TYPE => 'FILEHANDLE', SOURCE => \*TF) or die;
|
|
}
|
|
$tmpl->preprocessor($py) if ($test & 1) == 1;
|
|
my @args = ((($test & 2) == 2) ? (PREPROCESSOR => $pz) : ());
|
|
my $o = $tmpl->fill_in(@args,
|
|
HASH => {x => 119, 'y' => 23, z => 5});
|
|
# print STDERR "$o/$result[$test]\n";
|
|
print +(($o eq $result[$test]) ? '' : 'not '), "ok $n\n";
|
|
$n++;
|
|
}
|
|
}
|
|
|
|
unlink $TMPFILE;
|