summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/perl/cpan/podlators/t/text-options.t
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/perl/cpan/podlators/t/text-options.t')
-rwxr-xr-xgnu/usr.bin/perl/cpan/podlators/t/text-options.t120
1 files changed, 109 insertions, 11 deletions
diff --git a/gnu/usr.bin/perl/cpan/podlators/t/text-options.t b/gnu/usr.bin/perl/cpan/podlators/t/text-options.t
index 7b709807850..06bf0818431 100755
--- a/gnu/usr.bin/perl/cpan/podlators/t/text-options.t
+++ b/gnu/usr.bin/perl/cpan/podlators/t/text-options.t
@@ -1,8 +1,9 @@
#!/usr/bin/perl -w
#
-# text-options.t -- Additional tests for Pod::Text options.
+# Additional tests for Pod::Text options.
#
-# Copyright 2002, 2004, 2006, 2008, 2009 by Russ Allbery <rra@stanford.edu>
+# Copyright 2002, 2004, 2006, 2008, 2009, 2012, 2013
+# Russ Allbery <rra@stanford.edu>
#
# This program is free software; you may redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -18,13 +19,13 @@ BEGIN {
use strict;
-use Test::More tests => 19;
+use Test::More tests => 34;
BEGIN { use_ok ('Pod::Text') }
# Redirect stderr to a file.
sub stderr_save {
open (OLDERR, '>&STDERR') or die "Can't dup STDERR: $!\n";
- open (STDERR, '> out.err') or die "Can't redirect STDERR: $!\n";
+ open (STDERR, "> out$$.err") or die "Can't redirect STDERR: $!\n";
}
# Restore stderr.
@@ -43,7 +44,7 @@ while (<DATA>) {
my ($option, $value) = split;
$options{$option} = $value;
}
- open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+ open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
while (<DATA>) {
last if $_ eq "###\n";
print TMP $_;
@@ -51,33 +52,39 @@ while (<DATA>) {
close TMP;
my $parser = Pod::Text->new (%options);
isa_ok ($parser, 'Pod::Text', 'Parser object');
- open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
+ open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
stderr_save;
- $parser->parse_from_file ('tmp.pod', \*OUT);
+ eval { $parser->parse_from_file ("tmp$$.pod", \*OUT) };
+ my $exception = $@;
stderr_restore;
close OUT;
- open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+ open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
my $output;
{
local $/;
$output = <TMP>;
}
close TMP;
- 1 while unlink ('tmp.pod', 'out.tmp');
+ 1 while unlink ("tmp$$.pod", "out$$.tmp");
my $expected = '';
while (<DATA>) {
last if $_ eq "###\n";
$expected .= $_;
}
is ($output, $expected, "Ouput correct for test $n");
- open (ERR, 'out.err') or die "Cannot open out.err: $!\n";
+ open (ERR, "out$$.err") or die "Cannot open out$$.err: $!\n";
my $errors;
{
local $/;
$errors = <ERR>;
}
close ERR;
- 1 while unlink ('out.err');
+ $errors =~ s/\Qtmp$$.pod/tmp.pod/g;
+ 1 while unlink ("out$$.err");
+ if ($exception) {
+ $exception =~ s/ at .*//;
+ $errors .= "EXCEPTION: $exception";
+ }
$expected = '';
while (<DATA>) {
last if $_ eq "###\n";
@@ -253,3 +260,94 @@ NEXT
###
tmp.pod around line 7: You forgot a '=back' before '=head1'
###
+
+###
+nourls 1
+###
+=head1 URL suppression
+
+L<anchor|http://www.example.com/>
+###
+URL suppression
+ anchor
+
+###
+###
+
+###
+errors stderr
+###
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+###
+ Foo Bar.
+
+NEXT
+###
+tmp.pod around line 7: You forgot a '=back' before '=head1'
+###
+
+###
+errors die
+###
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+###
+ Foo Bar.
+
+NEXT
+###
+tmp.pod around line 7: You forgot a '=back' before '=head1'
+EXCEPTION: POD document had syntax errors
+###
+
+###
+errors pod
+###
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+###
+ Foo Bar.
+
+NEXT
+POD ERRORS
+ Hey! The above document had some coding errors, which are explained
+ below:
+
+ Around line 7:
+ You forgot a '=back' before '=head1'
+
+###
+###
+
+###
+errors none
+###
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+###
+ Foo Bar.
+
+NEXT
+###
+###