#!/usr/bin/perl -w # t/text.t - check output from Pod::PseudoPod::Text BEGIN { chdir 't' if -d 't'; } use strict; use lib '../lib'; use Test::More tests => 27; use_ok('Pod::PseudoPod::Text') or exit; my $parser = Pod::PseudoPod::Text->new (); isa_ok ($parser, 'Pod::PseudoPod::Text'); my $results; initialize($parser, $results); $parser->parse_string_document( "=head0 Narf!" ); is($results, "Narf!\n\n", "head0 level output"); initialize($parser, $results); $parser->parse_string_document( "=head1 Poit!" ); is($results, " Poit!\n\n", "head1 level output"); initialize($parser, $results); $parser->parse_string_document( "=head2 I think so Brain." ); is($results, " I think so Brain.\n\n", "head2 level output"); initialize($parser, $results); $parser->parse_string_document( "=head3 I say, Brain..." ); is($results, " I say, Brain...\n\n", "head3 level output"); initialize($parser, $results); $parser->parse_string_document( "=head4 Zort!" ); is($results, " Zort!\n\n", "head4 level output"); initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =pod Gee, Brain, what do you want to do tonight? EOPOD is($results, <<'EOTXT', "simple paragraph"); Gee, Brain, what do you want to do tonight? EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =pod B: Now, Pinky, if by any chance you are captured during this mission, remember you are Gunther Heindriksen from Appenzell. You moved to Grindelwald to drive the cog train to Murren. Can you repeat that? P: Mmmm, no, Brain, don't think I can. EOPOD is($results, <<'EOTXT', "multiple paragraphs"); B: Now, Pinky, if by any chance you are captured during this mission, remember you are Gunther Heindriksen from Appenzell. You moved to Grindelwald to drive the cog train to Murren. Can you repeat that? P: Mmmm, no, Brain, don't think I can. EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =over =item * P: Gee, Brain, what do you want to do tonight? =item * B: The same thing we do every night, Pinky. Try to take over the world! =back EOPOD is($results, <<'EOTXT', "simple bulleted list"); * P: Gee, Brain, what do you want to do tonight? * B: The same thing we do every night, Pinky. Try to take over the world! EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =over =item 1 P: Gee, Brain, what do you want to do tonight? =item 2 B: The same thing we do every night, Pinky. Try to take over the world! =back EOPOD is($results, <<'EOTXT', "numbered list"); 1. P: Gee, Brain, what do you want to do tonight? 2. B: The same thing we do every night, Pinky. Try to take over the world! EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =over =item Pinky Gee, Brain, what do you want to do tonight? =item Brain The same thing we do every night, Pinky. Try to take over the world! =back EOPOD is($results, <<'EOTXT', "list with text headings"); Pinky Gee, Brain, what do you want to do tonight? Brain The same thing we do every night, Pinky. Try to take over the world! EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =pod 1 + 1 = 2; 2 + 2 = 4; EOPOD is($results, <<'EOTXT', "code block"); 1 + 1 = 2; 2 + 2 = 4; EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =pod A plain paragraph with a C. EOPOD is($results, <<"EOTXT", "code entity in a paragraph"); A plain paragraph with a functionname. EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =pod A plain paragraph with aN. EOPOD is($results, <<"EOTXT", "footnote entity in a paragraph"); A plain paragraph with a [footnote: footnote entry]. EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =pod A plain paragraph with a U. EOPOD is($results, <<"EOHTML", "URL entity in a paragraph"); A plain paragraph with a http://test.url.com/stuff/and/junk.txt. EOHTML initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =pod A plain paragraph with a Zcross-reference. EOPOD is($results, <<"EOHTML", "Link anchor entity in a paragraph"); A plain paragraph with a cross-reference. EOHTML initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =for text This is a dummy for block. EOPOD is($results, <<"EOTXT", "a simple 'for' block"); This is a dummy for block. EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =for editor This is a PseudoPod for with an end directive. =end EOPOD is($results, <<'EOTXT', "a for with an '=end' directive"); This is a PseudoPod for with an end directive. EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =begin text This is a dummy begin block. =end text EOPOD is($results, <<"EOTXT", "a simple 'begin' block"); This is a dummy begin block. EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =begin sidebar Title Text This is the text of the sidebar. =end sidebar EOPOD is($results, <<'EOTXT', "a sidebar with a title"); Sidebar: Title Text This is the text of the sidebar. EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =pod A plain paragraph with a link anchorZ. EOPOD is($results, <<"EOTXT", "Link anchor entity in a paragraph"); A plain paragraph with a link anchor. EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =begin table =row =cell Cell 1 =cell Cell 2 =end table EOPOD is($results, <<'EOTXT', "a simple table"); Cell 1 | Cell 2 | EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =begin table An Example Table =row =cell Cell 1 =cell Cell 2 =end table EOPOD is($results, <<'EOTXT', "a table with a title"); Table: An Example Table Cell 1 | Cell 2 | EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =begin table =headrow =row =cell Header 1 =cell Header 2 =bodyrows =row =cell Cell 1 =cell Cell 2 =end table EOPOD is($results, <<'EOTXT', "a table with a header row"); Header 1 | Header 2 | Cell 1 | Cell 2 | EOTXT initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =begin table =row =cell This is a really, really long cell. So long, in fact that it wraps right around. =cell Cell 2 =end table EOPOD is($results, <<'EOTXT', "lines in cells are wrapped"); This is a really, really long cell. So long, in fact that it wraps right around. | Cell 2 | EOTXT TODO: { local $TODO = "X<> codes get replaced with a space instead of nothing"; initialize($parser, $results); $parser->parse_string_document(<<'EOPOD'); =head2 Title Text X X This is some text after some X codes. Does it get indented oddly? How about the next paragraph? EOPOD is($results, <<'EOTXT', "Z<> and X<> codes in a paragraph"); Title Text This is some text after some X codes. Does it get indented oddly? How about the next paragraph? EOTXT }; # TODO ###################################### sub initialize { $_[0] = Pod::PseudoPod::Text->new (); $_[0]->output_string( \$results ); # Send the resulting output to a string $_[1] = ''; return; }