lib/Pod/t/htmlview.t pod2html render test
lib/Pod/t/InputObjects.t See if Pod::InputObjects works
lib/Pod/t/man-options.t podlators test
+lib/Pod/t/man-utf8.t podlators test
lib/Pod/t/man.t podlators test
lib/Pod/t/parselink.t podlators test
lib/Pod/t/pod2html-lib.pl pod2html testing library
@ISA = qw(Pod::Simple);
-$VERSION = '2.19';
+$VERSION = '2.20';
# Set the debugging level. If someone has inserted a debug function into this
# class already, use that. Otherwise, use any Pod::Simple debug function
=for stopwords
en em ALLCAPS teeny fixedbold fixeditalic fixedbolditalic stderr utf8
-UTF-8 Allbery Sean Burke Ossanna Solaris
+UTF-8 Allbery Sean Burke Ossanna Solaris formatters troff uppercased
+Christiansen
=head1 SYNOPSIS
# We have to export pod2text for backward compatibility.
@EXPORT = qw(pod2text);
-$VERSION = 3.10;
+$VERSION = 3.11;
##############################################################################
# Initialization
Pod::Text - Convert POD data to formatted ASCII text
=for stopwords
-alt stderr Allbery Sean Burke's
+alt stderr Allbery Sean Burke's Christiansen
=head1 SYNOPSIS
@ISA = qw(Pod::Text);
-$VERSION = 2.01;
+$VERSION = 2.02;
##############################################################################
# Overrides
=head1 NAME
+=for stopwords
+overstrike
+
Pod::Text::Overstrike - Convert POD data to formatted overstrike text
=for stopwords
-overstruck Overstruck Allbery
+overstruck Overstruck Allbery terminal's
=head1 SYNOPSIS
}
unshift (@INC, '../blib/lib');
$| = 1;
- print "1..16\n";
+ print "1..7\n";
}
END {
print "ok 1\n";
my $n = 2;
-eval { binmode (\*DATA, ':encoding(utf-8)') };
while (<DATA>) {
my %options;
next until $_ eq "###\n";
$options{$option} = $value;
}
open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
- eval { binmode (\*TMP, ':encoding(utf-8)') };
- print TMP "=encoding utf-8\n\n";
while (<DATA>) {
last if $_ eq "###\n";
print TMP $_;
close TMP;
my $parser = Pod::Man->new (%options) or die "Cannot create parser\n";
open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
- eval { binmode (\*OUT, ':encoding(utf-8)') };
stderr_save;
$parser->parse_from_file ('tmp.pod', \*OUT);
stderr_restore;
close OUT;
my $accents = 0;
open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
- eval { binmode (\*TMP, ':encoding(utf-8)') };
while (<TMP>) {
- $accents = 1 if /Accent mark definitions/;
last if /^\.nh/;
}
my $output;
}
close TMP;
unlink ('tmp.pod', 'out.tmp');
- if (($options{utf8} && !$accents) || (!$options{utf8} && $accents)) {
- print "ok $n\n";
- } else {
- print "not ok $n\n";
- print ($accents ? "Saw accents\n" : "Saw no accents\n");
- print ($options{utf8} ? "Wanted no accents\n" : "Wanted accents\n");
- }
- $n++;
my $expected = '';
while (<DATA>) {
last if $_ eq "###\n";
__DATA__
###
-utf8 1
-###
-=head1 BEYONCÉ
-
-Beyoncé! Beyoncé! Beyoncé!!
-
- Beyoncé! Beyoncé!
- Beyoncé! Beyoncé!
- Beyoncé! Beyoncé!
-
-Older versions did not convert Beyoncé in verbatim.
-###
-.SH "BEYONCÉ"
-.IX Header "BEYONCÉ"
-Beyoncé! Beyoncé! Beyoncé!!
-.PP
-.Vb 3
-\& Beyoncé! Beyoncé!
-\& Beyoncé! Beyoncé!
-\& Beyoncé! Beyoncé!
-.Ve
-.PP
-Older versions did not convert Beyoncé in verbatim.
-###
-###
-
-###
-utf8 1
-###
-=head1 SE<lt>E<gt> output with UTF-8
-
-This is S<non-breaking output>.
-###
-.SH "S<> output with UTF\-8"
-.IX Header "S<> output with UTF-8"
-This is non-breaking output.
-###
-###
-
-###
fixed CR
fixedbold CY
fixeditalic CW
.SH "POD ERRORS"
.IX Header "POD ERRORS"
Hey! \fBThe above document had some coding errors, which are explained below:\fR
-.IP "Around line 9:" 4
-.IX Item "Around line 9:"
+.IP "Around line 7:" 4
+.IX Item "Around line 7:"
You forgot a '=back' before '=head1'
###
###
.SH "NEXT"
.IX Header "NEXT"
###
-tmp.pod around line 9: You forgot a '=back' before '=head1'
+tmp.pod around line 7: You forgot a '=back' before '=head1'
###
--- /dev/null
+#!/usr/bin/perl -w
+#
+# man-options.t -- Additional tests for Pod::Man options.
+#
+# Copyright 2002, 2004, 2006, 2008 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.
+
+BEGIN {
+ chdir 't' if -d 't';
+ if ($ENV{PERL_CORE}) {
+ @INC = '../lib';
+ } else {
+ unshift (@INC, '../blib/lib');
+ }
+ unshift (@INC, '../blib/lib');
+ $| = 1;
+ print "1..5\n";
+
+ # UTF-8 support requires Perl 5.8 or later.
+ if ($] < 5.008) {
+ my $n;
+ for $n (1..5) {
+ print "ok $n # skip -- Perl 5.8 required for UTF-8 support\n";
+ }
+ exit;
+ }
+}
+
+END {
+ print "not ok 1\n" unless $loaded;
+}
+
+use Pod::Man;
+
+$loaded = 1;
+print "ok 1\n";
+
+my $n = 2;
+eval { binmode (\*DATA, ':encoding(utf-8)') };
+while (<DATA>) {
+ my %options;
+ next until $_ eq "###\n";
+ while (<DATA>) {
+ last if $_ eq "###\n";
+ my ($option, $value) = split;
+ $options{$option} = $value;
+ }
+ open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+ eval { binmode (\*TMP, ':encoding(utf-8)') };
+ print TMP "=encoding utf-8\n\n";
+ while (<DATA>) {
+ last if $_ eq "###\n";
+ print TMP $_;
+ }
+ close TMP;
+ my $parser = Pod::Man->new (%options) or die "Cannot create parser\n";
+ open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
+ eval { binmode (\*OUT, ':encoding(utf-8)') };
+ $parser->parse_from_file ('tmp.pod', \*OUT);
+ close OUT;
+ my $accents = 0;
+ open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+ eval { binmode (\*TMP, ':encoding(utf-8)') };
+ while (<TMP>) {
+ $accents = 1 if /Accent mark definitions/;
+ last if /^\.nh/;
+ }
+ my $output;
+ {
+ local $/;
+ $output = <TMP>;
+ }
+ close TMP;
+ unlink ('tmp.pod', 'out.tmp');
+ if (($options{utf8} && !$accents) || (!$options{utf8} && $accents)) {
+ print "ok $n\n";
+ } else {
+ print "not ok $n\n";
+ print ($accents ? "Saw accents\n" : "Saw no accents\n");
+ print ($options{utf8} ? "Wanted no accents\n" : "Wanted accents\n");
+ }
+ $n++;
+ my $expected = '';
+ while (<DATA>) {
+ last if $_ eq "###\n";
+ $expected .= $_;
+ }
+ if ($output eq $expected) {
+ print "ok $n\n";
+ } else {
+ print "not ok $n\n";
+ print "Expected\n========\n$expected\nOutput\n======\n$output\n";
+ }
+ $n++;
+}
+
+# Below the marker are bits of POD and corresponding expected text output.
+# This is used to test specific features or problems with Pod::Man. The
+# input and output are separated by lines containing only ###.
+
+__DATA__
+
+###
+utf8 1
+###
+=head1 BEYONCÉ
+
+Beyoncé! Beyoncé! Beyoncé!!
+
+ Beyoncé! Beyoncé!
+ Beyoncé! Beyoncé!
+ Beyoncé! Beyoncé!
+
+Older versions did not convert Beyoncé in verbatim.
+###
+.SH "BEYONCÉ"
+.IX Header "BEYONCÉ"
+Beyoncé! Beyoncé! Beyoncé!!
+.PP
+.Vb 3
+\& Beyoncé! Beyoncé!
+\& Beyoncé! Beyoncé!
+\& Beyoncé! Beyoncé!
+.Ve
+.PP
+Older versions did not convert Beyoncé in verbatim.
+###
+
+###
+utf8 1
+###
+=head1 SE<lt>E<gt> output with UTF-8
+
+This is S<non-breaking output>.
+###
+.SH "S<> output with UTF\-8"
+.IX Header "S<> output with UTF-8"
+This is non-breaking output.
+###
eval 'use Pod::Spell';
skip_all "Pod::Spell required to test POD spelling" if $@;
my @spell;
-for my $dir (split ':', $ENV{PATH}) {
- if (-x "$dir/ispell") {
- @spell = ("$dir/ispell", '-d', 'american', '-l', '-p', '/dev/null');
+my %options = (aspell => [ qw(-d en_US --home-dir=./ list) ],
+ ispell => [ qw(-d american -l -p /dev/null) ]);
+SEARCH: for my $program (qw/aspell ispell/) {
+ for my $dir (split ':', $ENV{PATH}) {
+ if (-x "$dir/$program") {
+ @spell = ("$dir/$program", @{ $options{$program} });
+ }
+ last SEARCH if @spell;
}
- last if @spell;
}
-skip_all "ispell required to test POD spelling" unless @spell;
+skip_all "aspell or ispell required to test POD spelling" unless @spell;
# Run the test, one for each POD file.
$| = 1;
if (not defined $child) {
die "Cannot fork: $!\n";
} elsif ($child == 0) {
- my $pid = open (SPELL, '|-', @spell) or die "Cannot run @spell: $!\n";
+ my $pid = open (SPELL, '|-', @spell)
+ or die "Cannot run @spell: $!\n";
open (POD, '<', $pod) or die "Cannot open $pod: $!\n";
my $parser = Pod::Spell->new;
$parser->parse_from_filehandle (\*POD, \*SPELL);
my @words = <CHILD>;
close CHILD;
if ($? != 0) {
- print "ok $n # skip - @spell failed\n";
+ print "ok $n # skip - @spell failed: $?\n";
} elsif (@words) {
for (@words) {
s/^\s+//;
unshift (@INC, '../blib/lib');
$| = 1;
print "1..3\n";
+
+ # UTF-8 support requires Perl 5.8 or later.
+ if ($] < 5.008) {
+ my $n;
+ for $n (1..3) {
+ print "ok $n # skip -- Perl 5.8 required for UTF-8 support\n";
+ }
+ exit;
+ }
}
END {
=for stopwords
en em --stderr stderr --utf8 UTF-8 overdo markup MT-LEVEL Allbery Solaris
-URL
+URL troff troff-specific formatters uppercased Christiansen
=head1 SYNOPSIS
pod2text - Convert POD data to formatted ASCII text
=for stopwords
--aclost --alt --stderr Allbery
+-aclost --alt --stderr Allbery --overstrike overstrike --termcap
=head1 SYNOPSIS