Here is a new test script for Pod::ParseUtils.
I was mainly concerned with the link parsing. There is a good chance that Pod::ParseUtils is currently doing the wrong thing in some cases. Most obvious to me is that L<some text|manpage> does not print "some text". I have not put in a test for that case since I do not have enough time to fix the problem in Pod::ParseUtils - if Russ patches Pod::ParseUtils to use Pod::ParseLink then I will add the more stringent tests. This test could also be added to the PodParser distribution (hence the cc). -- Tim Jenness JAC software http://www.jach.hawaii.edu/~timj --- /dev/null Fri Mar 23 18:37:44 2001 +++ lib/Pod/t/utils.t Tue Nov 20 14:28:31 2001 @@ -0,0 +1,92 @@ + +# Test hyperlinks et al from Pod::ParseUtils + +BEGIN { + chdir 't' if -d 't'; + @INC = '../lib'; + require Test; import Test; + plan(tests => 22); +} + +use strict; +use Pod::ParseUtils; + +# First test the hyperlinks + +my @links = qw{ + name + name/ident + name/"sec" + "sec" + /"sec" + http://www.perl.org/ + text|name + text|name/ident + text|name/"sec" + text|"sec" +}; + +my @results = ( + "the P<name> manpage", + "the Q<ident> entry in the P<name> manpage", + "the section on Q<sec> in the P<name> manpage", + "the section on Q<sec> elsewhere in this document", + "the section on Q<sec> elsewhere in this document", + "Q<http://www.perl.org/>", + "Q<text>", + "Q<text>", + "Q<text>", + "Q<text>", + ); + +ok(@results,@links); + +for my $i( 0..@links ) { + my $link = new Pod::Hyperlink( $links[$i] ); + ok($link->markup, $results[$i]); +} + +# Now test lists +# This test needs to be better +my $list = new Pod::List( -indent => 4, + -start => 52, + -file => "itemtest.t", + -type => "OL", + ); + +ok($list); + +ok($list->indent, 4); +ok($list->start, 52); +ok($list->type, "OL"); + + +# Pod::Cache + +# also needs work + +my $cache = new Pod::Cache; + +# Store it in the cache +$cache->item( + -page => "Pod::ParseUtils", + -description => "A description", + -file => "file.t", + ); + +# Now look for an item of this name +my $item = $cache->find_page("Pod::ParseUtils"); +ok($item); + +# and a failure +ok($cache->find_page("Junk"), undef); + +# Make sure that the item we found is the same one as the +# first in the list +my @i = $cache->item; +ok($i[0], $item); + +# Check the contents +ok($item->page, "Pod::ParseUtils"); +ok($item->description, "A description"); +ok($item->file, "file.t");