summaryrefslogtreecommitdiffstats
path: root/external/perl/Text-Template-1.56/t/exported.t
diff options
context:
space:
mode:
Diffstat (limited to 'external/perl/Text-Template-1.56/t/exported.t')
-rwxr-xr-xexternal/perl/Text-Template-1.56/t/exported.t68
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';