diff options
Diffstat (limited to 'gnu/usr.bin/perl/cpan/podlators/t/text-options.t')
-rwxr-xr-x | gnu/usr.bin/perl/cpan/podlators/t/text-options.t | 120 |
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 +### +### |