1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!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';
|