diff options
author | Jesse Vincent <jesse@bestpractical.com> | 2009-12-10 11:44:26 -0500 |
---|---|---|
committer | Jesse Vincent <jesse@bestpractical.com> | 2009-12-10 12:53:17 -0500 |
commit | a242eeb4c06c63af5ec7e01d5602b14bde94aa81 (patch) | |
tree | ec150bb0465359e98917433c36f94c184cb92302 /cpan/Pod-Simple/t | |
parent | c722fa88c82df2b147e7acc05736e2bc6ae85bc2 (diff) | |
download | perl-a242eeb4c06c63af5ec7e01d5602b14bde94aa81.tar.gz |
Updated to Pod::Simple 3.11 from CPAN [perl #71004]
Diffstat (limited to 'cpan/Pod-Simple/t')
-rw-r--r-- | cpan/Pod-Simple/t/fcodes_s.t | 358 | ||||
-rw-r--r-- | cpan/Pod-Simple/t/html01.t | 19 | ||||
-rw-r--r-- | cpan/Pod-Simple/t/htmlbat.t | 17 | ||||
-rw-r--r-- | cpan/Pod-Simple/t/items02.t | 1 | ||||
-rw-r--r-- | cpan/Pod-Simple/t/xhtml01.t | 33 |
5 files changed, 415 insertions, 13 deletions
diff --git a/cpan/Pod-Simple/t/fcodes_s.t b/cpan/Pod-Simple/t/fcodes_s.t index 0c66d2c466..cada7e4ab9 100644 --- a/cpan/Pod-Simple/t/fcodes_s.t +++ b/cpan/Pod-Simple/t/fcodes_s.t @@ -8,7 +8,7 @@ BEGIN { use strict; use Test; -BEGIN { plan tests => 14 }; +BEGIN { plan tests => 80 }; #use Pod::Simple::Debug (6); @@ -102,6 +102,362 @@ Do they always lose the rest of the line? END ); +$x = 'Pod::Simple::Text'; +# Test text output of links. +ok( + $x->_out(qq{=pod\n\nL<Net::Ping>\n}), + " Net::Ping\n\n" +); + +ok( + $x->_out(qq{=pod\n\nBe sure to read the L<Net::Ping> docs\n}), + " Be sure to read the Net::Ping docs\n\n" +); + +ok( + $x->_out(qq{=pod\n\nL<http://www.perl.com>\n}), + " http://www.perl.com\n\n" +); + +ok( + $x->_out(qq{=pod\n\nL<crontab(5)>\n}), + " crontab(5)\n\n" +); + +ok( + $x->_out(qq{=pod\n\nL<Net::Ping/Ping-pong>\n}), + qq{ "Ping-pong" in Net::Ping\n\n} +); + +ok( + $x->_out(qq{=pod\n\nL</"Object Methods">\n}), + qq{ "Object Methods"\n\n} +); + +ok( + $x->_out(qq{=pod\n\nL</Object Methods>\n}), + qq{ "Object Methods"\n\n} +); + +ok( + $x->_out(qq{=pod\n\nL<"Object Methods">\n}), + qq{ "Object Methods"\n\n} +); + +ok( + $x->_out(qq{=pod\n\nL<Net::Ping/Ping-E<112>ong>\n}), + qq{ "Ping-pong" in Net::Ping\n\n} +); + +ok( + $x->_out(qq{=pod\n\nL<news:comp.lang.perl.misc>\n}), + " news:comp.lang.perl.misc\n\n" +); + +ok( + $x->_out(qq{=pod\n\nL<http://www.perl.org>\n}), + " http://www.perl.org\n\n" +); + +ok( + $x->_out(qq{=pod\n\nSee L<http://www.perl.org>\n}), + " See http://www.perl.org\n\n" +); + +ok( + $x->_out(qq{=pod\n\nL<http://www.perl.org/CPAN/authors/id/S/SB/SBURKE/>\n}), + " http://www.perl.org/CPAN/authors/id/S/SB/SBURKE/\n\n" +); + +ok( + $x->_out(qq{=pod\n\nL<news:compE<46>lang.perl.misc>\n}), + " news:comp.lang.perl.misc\n\n" +); + +ok( + $x->_out(qq{=pod\n\nL<http://wwwE<46>perl.org>\n}), + " http://www.perl.org\n\n" +); + +ok( + $x->_out(qq{=pod\n\nL<things|crontab(5)>\n}), + " things\n\n" +); + +ok( + $x->_out(qq{=pod\n\nL<things|crontab(5)/ENVIRONMENT>\n}), + " things\n\n" +); + +ok( + $x->_out(qq{=pod\n\nL<Perl Error Messages|perldiag>\n}), + " Perl Error Messages\n\n" +); + +ok( + $x->_out(qq{=pod\n\nL<Perl\nError\nMessages|perldiag>\n}), + " Perl Error Messages\n\n" +); + +ok( + $x->_out(qq{=pod\n\nL<Perl\nError\t Messages|perldiag>\n}), + " Perl Error Messages\n\n" +); + +ok( + $x->_out(qq{=pod\n\nL<perl.org|http://www.perl.org>\n}), + " perl.org <http://www.perl.org>\n\n" +); + +ok( + $x->_out(qq{=pod\n\nSee L<perl.org|http://www.perl.org>\n}), + " See perl.org <http://www.perl.org>\n\n" +); + + +# Test HTML output of links. +use Pod::Simple::HTML; +my $PERLDOC = "http://search.cpan.org/perldoc"; +my $MANURL = "http://man.he.net/man"; +sub x ($) { + Pod::Simple::HTML->_out( + sub { $_[0]->bare_output(1) }, + "=pod\n\n$_[0]", + ) +} + +ok( + x(qq{L<Net::Ping>\n}), + qq{\n<p><a href="$PERLDOC?Net%3A%3APing" class="podlinkpod"\n>Net::Ping</a></p>\n} +); + +ok( + x(qq{Be sure to read the L<Net::Ping> docs\n}), + qq{\n<p>Be sure to read the <a href="$PERLDOC?Net%3A%3APing" class="podlinkpod"\n>Net::Ping</a> docs</p>\n} +); + +ok( + x(qq{L<http://www.perl.com>\n}), + qq{\n<p><a href="http://www.perl.com" class="podlinkurl"\n>http://www.perl.com</a></p>\n} +); + +ok( + x(qq{L<crontab(5)>\n}), + qq{\n<p><a href="${MANURL}5/crontab" class="podlinkman"\n>crontab(5)</a></p>\n} +); + +ok( + x(qq{L<Net::Ping/Ping-pong>\n}), + qq{\n<p><a href="$PERLDOC?Net%3A%3APing#Ping-pong" class="podlinkpod"\n>"Ping-pong" in Net::Ping</a></p>\n} +); + +ok( + x(qq{L</"Object Methods">\n}), + qq{\n<p><a href="#Object_Methods" class="podlinkpod"\n>"Object Methods"</a></p>\n} +); + +ok( + x(qq{L</Object Methods>\n}), + qq{\n<p><a href="#Object_Methods" class="podlinkpod"\n>"Object Methods"</a></p>\n} +); + +ok( + x(qq{L<"Object Methods">\n}), + qq{\n<p><a href="#Object_Methods" class="podlinkpod"\n>"Object Methods"</a></p>\n} +); + +ok( + x(qq{L<Net::Ping/Ping-E<112>ong>\n}), + qq{\n<p><a href="$PERLDOC?Net%3A%3APing#Ping-pong" class="podlinkpod"\n>"Ping-pong" in Net::Ping</a></p>\n} +); + +ok( + x(qq{L<news:comp.lang.perl.misc>\n}), + qq{\n<p><a href="news:comp.lang.perl.misc" class="podlinkurl"\n>news:comp.lang.perl.misc</a></p>\n} +); + +ok( + x(qq{L<http://www.perl.org>\n}), + qq{\n<p><a href="http://www.perl.org" class="podlinkurl"\n>http://www.perl.org</a></p>\n} +); + +ok( + x(qq{See L<http://www.perl.org>\n}), + qq{\n<p>See <a href="http://www.perl.org" class="podlinkurl"\n>http://www.perl.org</a></p>\n} +); + +ok( + x(qq{L<http://www.perl.org/CPAN/authors/id/S/SB/SBURKE/>\n}), + qq{\n<p><a href="http://www.perl.org/CPAN/authors/id/S/SB/SBURKE/" class="podlinkurl"\n>http://www.perl.org/CPAN/authors/id/S/SB/SBURKE/</a></p>\n} +); + +ok( + x(qq{L<news:compE<46>lang.perl.misc>\n}), + qq{\n<p><a href="news:comp.lang.perl.misc" class="podlinkurl"\n>news:comp.lang.perl.misc</a></p>\n} +); + +ok( + x(qq{L<http://wwwE<46>perl.org>\n}), + qq{\n<p><a href="http://www.perl.org" class="podlinkurl"\n>http://www.perl.org</a></p>\n} +); + +ok( + x(qq{L<things|crontab(5)>\n}), + qq{\n<p><a href="${MANURL}5/crontab" class="podlinkman"\n>things</a></p>\n} +); + +ok( + x(qq{L<things|crontab(5)/ENVIRONMENT>\n}), + qq{\n<p><a href="${MANURL}5/crontab" class="podlinkman"\n>things</a></p>\n} +); + +ok( + x(qq{L<Perl Error Messages|perldiag>\n}), + qq{\n<p><a href="$PERLDOC?perldiag" class="podlinkpod"\n>Perl Error Messages</a></p>\n} +); + +ok( + x(qq{L<Perl\nError\nMessages|perldiag>\n}), + qq{\n<p><a href="$PERLDOC?perldiag" class="podlinkpod"\n>Perl Error Messages</a></p>\n} +); + +ok( + x(qq{L<Perl\nError\t Messages|perldiag>\n}), + qq{\n<p><a href="$PERLDOC?perldiag" class="podlinkpod"\n>Perl Error Messages</a></p>\n} +); + +ok( + x(qq{L<perl.org|http://www.perl.org>\n}), + qq{\n<p><a href="http://www.perl.org" class="podlinkurl"\n>perl.org</a></p>\n} +); + +ok( + x(qq{See L<perl.org|http://www.perl.org>\n}), + qq{\n<p>See <a href="http://www.perl.org" class="podlinkurl"\n>perl.org</a></p>\n} +); + +# Test link output in XHTML. +use Pod::Simple::XHTML; +sub o ($) { + my $p = Pod::Simple::XHTML->new; + $p->html_header(""); + $p->html_footer(""); + my $results = ''; + $p->output_string( \$results ); # Send the resulting output to a string + $p->parse_string_document("=pod\n\n$_[0]"); + return $results; +} + +ok( + o(qq{L<Net::Ping>}), + qq{<p><a href="$PERLDOC?Net::Ping">Net::Ping</a></p>\n\n} +); + +ok( + o(qq{Be sure to read the L<Net::Ping> docs}), + qq{<p>Be sure to read the <a href="$PERLDOC?Net::Ping">Net::Ping</a> docs</p>\n\n} +); + +ok( + o(qq{L<http://www.perl.com>}), + qq{<p><a href="http://www.perl.com">http://www.perl.com</a></p>\n\n} +); + +ok( + o(qq{L<crontab(5)>}), + qq{<p><a href="${MANURL}5/crontab">crontab(5)</a></p>\n\n} +); + +ok( + o(qq{L<Net::Ping/Ping-pong>}), + qq{<p><a href="$PERLDOC?Net::Ping#Ping-pong">"Ping-pong" in Net::Ping</a></p>\n\n} +); + +ok( + o(qq{L</"Object Methods">}), + qq{<p><a href="#Object-Methods">"Object Methods"</a></p>\n\n} +); + +ok( + o(qq{L</Object Methods>}), + qq{<p><a href="#Object-Methods">"Object Methods"</a></p>\n\n} +); + +ok( + o(qq{L<"Object Methods">}), + qq{<p><a href="#Object-Methods">"Object Methods"</a></p>\n\n} +); + +ok( + o(qq{L<Net::Ping/Ping-E<112>ong>}), + qq{<p><a href="$PERLDOC?Net::Ping#Ping-pong">"Ping-pong" in Net::Ping</a></p>\n\n} +); + +ok( + o(qq{L<news:comp.lang.perl.misc>}), + qq{<p><a href="news:comp.lang.perl.misc">news:comp.lang.perl.misc</a></p>\n\n} +); + +ok( + o(qq{L<http://www.perl.org>}), + qq{<p><a href="http://www.perl.org">http://www.perl.org</a></p>\n\n} +); + +ok( + o(qq{See L<http://www.perl.org>}), + qq{<p>See <a href="http://www.perl.org">http://www.perl.org</a></p>\n\n} +); + +ok( + o(qq{L<http://www.perl.org/CPAN/authors/id/S/SB/SBURKE/>}), + qq{<p><a href="http://www.perl.org/CPAN/authors/id/S/SB/SBURKE/">http://www.perl.org/CPAN/authors/id/S/SB/SBURKE/</a></p>\n\n} +); + +ok( + o(qq{L<news:compE<46>lang.perl.misc>}), + qq{<p><a href="news:comp.lang.perl.misc">news:comp.lang.perl.misc</a></p>\n\n} +); + +ok( + o(qq{L<http://wwwE<46>perl.org>}), + qq{<p><a href="http://www.perl.org">http://www.perl.org</a></p>\n\n} +); + +ok( + o(qq{L<things|crontab(5)>}), + qq{<p><a href="${MANURL}5/crontab">things</a></p>\n\n} +); + +ok( + o(qq{L<things|crontab(5)/ENVIRONMENT>}), + qq{<p><a href="${MANURL}5/crontab">things</a></p>\n\n} +); + +ok( + o(qq{L<Perl Error Messages|perldiag>}), + qq{<p><a href="$PERLDOC?perldiag">Perl Error Messages</a></p>\n\n} +); + +ok( + o(qq{L<Perl\nError\nMessages|perldiag>}), + qq{<p><a href="$PERLDOC?perldiag">Perl Error Messages</a></p>\n\n} +); + +ok( + o(qq{L<Perl\nError\t Messages|perldiag>}), + qq{<p><a href="$PERLDOC?perldiag">Perl Error Messages</a></p>\n\n} +); + +ok( + o(qq{L<perl.org|http://www.perl.org>}), + qq{<p><a href="http://www.perl.org">perl.org</a></p>\n\n} +); + +ok( + o(qq{See L<perl.org|http://www.perl.org>}), + qq{<p>See <a href="http://www.perl.org">perl.org</a></p>\n\n} +); + print "# Wrapping up... one for the road...\n"; ok 1; print "# --- Done with ", __FILE__, " --- \n"; diff --git a/cpan/Pod-Simple/t/html01.t b/cpan/Pod-Simple/t/html01.t index 18e84a8019..86e84ee777 100644 --- a/cpan/Pod-Simple/t/html01.t +++ b/cpan/Pod-Simple/t/html01.t @@ -9,7 +9,7 @@ BEGIN { use strict; use Test; -BEGIN { plan tests => 9 }; +BEGIN { plan tests => 10 }; #use Pod::Simple::Debug (10); @@ -71,7 +71,6 @@ ok(x( "heading building" ); -print x("=over 4\n\n=item one\n\n=item two\n\nHello\n\n=back\n"); ok( x("=over 4\n\n=item one\n\n=item two\n\nHello\n\n=back\n"), q{ @@ -90,6 +89,22 @@ ok( } ); +# Check subclass. +SUBCLASS: { + package My::Pod::HTML; + use vars '@ISA', '$VERSION'; + @ISA = ('Pod::Simple::HTML'); + $VERSION = '0.01'; + sub do_section { 'howdy' } +} + +ok( + My::Pod::HTML->_out( + sub{ $_[0]->bare_output(1) }, + "=pod\n\n=over\n\n=item Foo\n\n", + ), + "\n<dl>\n<dt><a name=\"howdy\"\n>Foo</a></dt>\n</dl>\n", +); print "# And one for the road...\n"; ok 1; diff --git a/cpan/Pod-Simple/t/htmlbat.t b/cpan/Pod-Simple/t/htmlbat.t index 559754b6e6..ca58e6ea8e 100644 --- a/cpan/Pod-Simple/t/htmlbat.t +++ b/cpan/Pod-Simple/t/htmlbat.t @@ -13,7 +13,7 @@ my $DEBUG = 0; #sub Pod::Simple::HTMLBatch::DEBUG () {5}; use Test; -BEGIN { plan tests => 9 } +BEGIN { plan tests => 17 } require Pod::Simple::HTMLBatch;; @@ -62,13 +62,24 @@ mkdir $outdir, 0777 or die "Can't mkdir $outdir: $!"; print "# Converting $corpus_dir => $outdir\n" if $DEBUG; my $conv = Pod::Simple::HTMLBatch->new; $conv->verbose(0); +$conv->index(1); $conv->batch_convert( [$corpus_dir], $outdir ); ok 1; print "# OK, back from converting.\n" if $DEBUG; my @files; use File::Find; -find( sub { push @files, $File::Find::name; return }, $outdir ); +find( sub { + push @files, $File::Find::name; + if (/[.]html$/ && $_ !~ /perl|index/) { + # Make sure an index was generated. + open HTML, $_ or die "Cannot open $_: $!\n"; + my $html = do { local $/; <HTML> }; + close HTML; + ok $html =~ /<div class='indexgroup'>/; + } + return; +}, $outdir ); { my $long = ( grep m/zikzik\./i, @files )[0]; @@ -101,8 +112,6 @@ if (my @long = grep { /^[^.]{9,}/ } map { s{^[^/]/}{} } @files) { ok 1; } - - # use Pod::Simple; # *pretty = \&Pod::Simple::BlackBox::pretty; diff --git a/cpan/Pod-Simple/t/items02.t b/cpan/Pod-Simple/t/items02.t index 4898fe4bb3..3119682dda 100644 --- a/cpan/Pod-Simple/t/items02.t +++ b/cpan/Pod-Simple/t/items02.t @@ -41,4 +41,3 @@ ok( $x->_out("\n=over\n\n=item 5.\n\nStuff\n\n=cut\n\nCrunk\nZorp\n\n=item 4.\n\ print "# Wrapping up... one for the road...\n"; ok 1; print "# --- Done with ", __FILE__, " --- \n"; - diff --git a/cpan/Pod-Simple/t/xhtml01.t b/cpan/Pod-Simple/t/xhtml01.t index 8517dda699..e0993a56da 100644 --- a/cpan/Pod-Simple/t/xhtml01.t +++ b/cpan/Pod-Simple/t/xhtml01.t @@ -8,7 +8,8 @@ BEGIN { use strict; use lib '../lib'; -use Test::More tests => 35; +use Test::More tests => 43; +#use Test::More 'no_plan'; use_ok('Pod::Simple::XHTML') or exit; @@ -17,7 +18,8 @@ isa_ok ($parser, 'Pod::Simple::XHTML'); my $results; -my $PERLDOC = "http://search.cpan.org/perldoc?"; +my $PERLDOC = "http://search.cpan.org/perldoc"; +my $MANURL = "http://man.he.net/man"; initialize($parser, $results); $parser->parse_string_document( "=head1 Poit!" ); @@ -403,7 +405,7 @@ $parser->parse_string_document(<<'EOPOD'); A plain paragraph with a L<Newlines>. EOPOD is($results, <<"EOHTML", "Link entity in a paragraph"); -<p>A plain paragraph with a <a href="${PERLDOC}Newlines">Newlines</a>.</p> +<p>A plain paragraph with a <a href="$PERLDOC?Newlines">Newlines</a>.</p> EOHTML @@ -414,7 +416,7 @@ $parser->parse_string_document(<<'EOPOD'); A plain paragraph with a L<perlport/Newlines>. EOPOD is($results, <<"EOHTML", "Link entity in a paragraph"); -<p>A plain paragraph with a <a href="${PERLDOC}perlport/Newlines">"Newlines" in perlport</a>.</p> +<p>A plain paragraph with a <a href="$PERLDOC?perlport#Newlines">"Newlines" in perlport</a>.</p> EOHTML @@ -507,7 +509,7 @@ A text paragraph using numeric POD entities: E<60>, E<62>. EOPOD is($results, <<"EOHTML", "Text with numeric entities"); -<p>A text paragraph using numeric POD entities: <, >.</p> +<p>A text paragraph using numeric POD entities: <, >.</p> EOHTML @@ -540,6 +542,27 @@ ok $parser->parse_string_document( "=head1 Poit!" ), 'Parse with headers'; like $results, qr{<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />}, 'Should have proper http-equiv meta tag'; +# Test the link generation methods. +is $parser->resolve_pod_page_link('Net::Ping', 'INSTALL'), + "$PERLDOC?Net::Ping#INSTALL", + 'POD link with fragment'; +is $parser->resolve_pod_page_link('perlpodspec'), + "$PERLDOC?perlpodspec", 'Simple POD link'; +is $parser->resolve_pod_page_link(undef, 'SYNOPSIS'), '#SYNOPSIS', + 'Simple fragment link'; +is $parser->resolve_pod_page_link(undef, 'this that'), '#this-that', + 'Fragment link with space'; +is $parser->resolve_pod_page_link('perlpod', 'this that'), + "$PERLDOC?perlpod#this-that", + 'POD link with fragment with space'; + +is $parser->resolve_man_page_link('crontab(5)', 'EXAMPLE CRON FILE'), + "${MANURL}5/crontab", 'Man link with fragment'; +is $parser->resolve_man_page_link('crontab(5)'), + "${MANURL}5/crontab", 'Man link without fragment'; +is $parser->resolve_man_page_link('crontab'), + "${MANURL}1/crontab", 'Man link without section'; + ###################################### sub initialize { |