#!/usr/bin/perl -w # # text.t -- Additional specialized tests for Pod::Text. # # Copyright 2002, 2004, 2006, 2007, 2008, 2009 Russ Allbery # # 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'; } unshift (@INC, '../blib/lib'); $| = 1; } use strict; use Pod::Simple; use Test::More tests => 8; BEGIN { use_ok ('Pod::Text') } my $parser = Pod::Text->new; isa_ok ($parser, 'Pod::Text', 'Parser object'); my $n = 1; while () { next until $_ eq "###\n"; open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n"; while () { last if $_ eq "###\n"; print TMP $_; } close TMP; open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n"; $parser->parse_from_file ('tmp.pod', \*OUT); close OUT; open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n"; my $output; { local $/; $output = ; } close TMP; 1 while unlink ('tmp.pod', 'out.tmp'); my $expected = ''; while () { last if $_ eq "###\n"; $expected .= $_; } is ($output, $expected, "Output correct for test $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::Text. The # input and output are separated by lines containing only ###. __DATA__ ### =head1 PERIODS This C<.> should be quoted. ### PERIODS This "." should be quoted. ### ### =head1 CEE WITH SPACES What does C<< this. >> end up looking like? ### C<> WITH SPACES What does "this." end up looking like? ### ### =head1 Test of SEE This is some S< > whitespace. ### Test of S<> This is some whitespace. ### ### =head1 Test of =for =for comment This won't be seen. Yes. =for text This should be seen. =for TEXT As should this. =for man But this shouldn't. Some more text. ### Test of =for Yes. This should be seen. As should this. Some more text. ### ### =pod text line1 line3 ### text line1 line3 ### ### =head1 LINK TO URL This is a L to a URL. ### LINK TO URL This is a link to a URL. ###