1N/A.SH "NAME"
1N/Abasic.pod \- Test of various basic POD features in translators.
1N/A.SH "HEADINGS"
1N/A.IX Header "HEADINGS"
1N/ATry a few different levels of headings, with embedded formatting codes and
1N/Aother interesting bits.
1N/A.ie n .SH "This ""is"" a ""level 1"" heading"
1N/A.el .SH "This \f(CWis\fP a ``level 1'' heading"
1N/A.IX Header "This is a level 1 heading"
1N/A.Sh "``Level'' ""2 \fIheading\fP"
1N/A.IX Subsection "``Level'' ""2 heading"
1N/A\fILevel 3 \f(BIheading \f(BIwith \f(CB\*(C`weird \f(CBstuff "" (double quote)\f(CB\*(C'\f(BI\f(BI\fI\fR
1N/A.IX Subsection "Level 3 heading with weird stuff """" (double quote)"
1N/A.PP
1N/ALevel "4 \f(CW\*(C`heading\*(C'\fR
1N/A.IX Subsection "Level ""4 heading"
1N/A.PP
1N/ANow try again with \fBintermixed\fR \fItext\fR.
1N/A.ie n .SH "This ""is"" a ""level 1"" heading"
1N/A.el .SH "This \f(CWis\fP a ``level 1'' heading"
1N/A.IX Header "This is a level 1 heading"
1N/AText.
1N/A.Sh "``Level'' 2 \fIheading\fP"
1N/A.IX Subsection "``Level'' 2 heading"
1N/AText.
1N/A.PP
1N/A\fILevel 3 \f(BIheading \f(BIwith \f(CB\*(C`weird \f(CBstuff\f(CB\*(C'\f(BI\f(BI\fI\fR
1N/A.IX Subsection "Level 3 heading with weird stuff"
1N/A.PP
1N/AText.
1N/A.PP
1N/ALevel "4 \f(CW\*(C`heading\*(C'\fR
1N/A.IX Subsection "Level ""4 heading"
1N/A.PP
1N/AText.
1N/A.SH "LINKS"
1N/A.IX Header "LINKS"
1N/AThese are all taken from the Pod::Parser tests.
1N/A.PP
1N/ATry out \fI\s-1LOTS\s0\fR of different ways of specifying references:
1N/A.PP
1N/AReference the \*(L"section\*(R" in manpage
1N/A.PP
1N/AReference the \*(L"section\*(R" in manpage
1N/A.PP
1N/AReference the \*(L"section\*(R" in manpage
1N/A.PP
1N/AReference the \*(L"section\*(R" in manpage
1N/A.PP
1N/AReference the \*(L"manpage/section\*(R"
1N/A.PP
1N/AReference the \*(L"section\*(R" in \*(L"manpage\*(R"
1N/A.PP
1N/AReference the \*(L"section\*(R" in manpage
1N/A.PP
1N/AReference the \*(L"section\*(R" in manpage
1N/A.PP
1N/AReference the \*(L"section\*(R" in manpage
1N/A.PP
1N/ANow try it using the new \*(L"|\*(R" stuff ...
1N/A.PP
1N/AReference the thistext|
1N/A.PP
1N/AReference the thistext |
1N/A.PP
1N/AReference the thistext|
1N/A.PP
1N/AReference the thistext |
1N/A.PP
1N/AReference the thistext|
1N/A.PP
1N/AReference the thistext |
1N/A.PP
1N/AReference the thistext|
1N/A.PP
1N/AReference the thistext|
1N/A.PP
1N/AReference the thistext |
1N/A.PP
1N/AAnd then throw in a few new ones of my own.
1N/A.PP
1N/Afoo
1N/A.PP
1N/Afoo
1N/A.PP
1N/A\&\*(L"bar\*(R" in foo
1N/A.PP
1N/A\&\*(L"baz boo\*(R" in foo
1N/A.PP
1N/A\&\*(L"bar\*(R"
1N/A.PP
1N/A\&\*(L"baz boo\*(R"
1N/A.PP
1N/A\&\*(L"baz boo\*(R"
1N/A.PP
1N/A\&\*(L"baz boo\*(R" in foo bar
1N/A.PP
1N/A\&\*(L"baz boo\*(R" in foo bar
1N/A.PP
1N/A\&\*(L"boo\*(R" in foo bar baz
1N/A.PP
1N/A\&\*(L"boo var baz\*(R"
1N/A.PP
1N/A\&\*(L"bar baz\*(R"
1N/A.PP
1N/A\&\*(L"boo bar baz / baz boo\*(R"
1N/A.PP
1N/A\&\*(L"boo\*(R", \*(L"bar\*(R", and \*(L"baz\*(R"
1N/A.PP
1N/Afoo\&bar
1N/A.PP
1N/ATesting \fIitalics\fR
1N/A.PP
1N/A"\fIItalic\fR text" in foo
1N/A.PP
1N/A"Section \f(CW\*(C`with\*(C'\fR \fI\f(BIother\fI markup\fR" in foo|bar\&
1N/A.PP
1N/ANested <http://www.perl.org/>
1N/A.SH "OVER AND ITEMS"
1N/A.IX Header "OVER AND ITEMS"
1N/ATaken from Pod::Parser tests, this is a test to ensure that multiline
1N/A=item paragraphs get indented appropriately.
1N/A.IP "This is a test." 4
1N/A.IX Item "This is a test."
1N/A.PP
1N/AThere should be whitespace now before this line.
1N/A.PP
1N/ATaken from Pod::Parser tests, this is a test to ensure the nested =item
1N/Aparagraphs get indented appropriately.
1N/A.IP "1" 2
1N/A.IX Item "1"
1N/AFirst section.
1N/A.RS 2
1N/A.IP "a" 2
1N/A.IX Item "a"
1N/Athis is item a
1N/A.IP "b" 2
1N/A.IX Item "b"
1N/Athis is item b
1N/A.RE
1N/A.RS 2
1N/A.RE
1N/A.IP "2" 2
1N/A.IX Item "2"
1N/ASecond section.
1N/A.RS 2
1N/A.IP "a" 2
1N/A.IX Item "a"
1N/Athis is item a
1N/A.IP "b" 2
1N/A.IX Item "b"
1N/Athis is item b
1N/A.IP "c" 2
1N/A.IX Item "c"
1N/A.PD 0
1N/A.IP "d" 2
1N/A.IX Item "d"
1N/A.PD
1N/AThis is item c & d.
1N/A.RE
1N/A.RS 2
1N/A.RE
1N/A.PP
1N/ANow some additional weirdness of our own. Make sure that multiple tags
1N/Afor one paragraph are properly compacted.
1N/A.ie n .IP """foo""" 4
1N/A.el .IP "``foo''" 4
1N/A.IX Item "foo"
1N/A.PD 0
1N/A.IP "\fBbar\fR" 4
1N/A.IX Item "bar"
1N/A.ie n .IP """baz""" 4
1N/A.el .IP "\f(CWbaz\fR" 4
1N/A.IX Item "baz"
1N/A.PD
1N/AThere shouldn't be any spaces between any of these item tags; this idiom
1N/Ais used in perlfunc.
1N/A.IP "Some longer item text" 4
1N/A.IX Item "Some longer item text"
1N/AJust to make sure that we test paragraphs where the item text doesn't fit
1N/Ain the margin of the paragraph (and make sure that this paragraph fills a
1N/Afew lines).
1N/A.Sp
1N/ALet's also make it multiple paragraphs to be sure that works.
1N/A.PP
1N/ATest use of =over without =item as a block \*(L"quote\*(R" or block paragraph.
1N/A.Sp
1N/A.RS 4
1N/AThis should be indented four spaces but otherwise formatted the same as
1N/Aany other regular text paragraph. Make sure it's long enough to see the
1N/Aresults of the formatting.....
1N/A.RE
1N/A.PP
1N/ANow try the same thing nested, and make sure that the indentation is reset
1N/Aback properly.
1N/A.RS 4
1N/A.Sp
1N/A.RS 4
1N/AThis paragraph should be doubly indented.
1N/A.RE
1N/A.RE
1N/A.RS 4
1N/A.Sp
1N/AThis paragraph should only be singly indented.
1N/A.IP "\(bu" 4
1N/AThis is an item in the middle of a block\-quote, which should be allowed.
1N/A.IP "\(bu" 4
1N/AWe're also testing tagless item commands.
1N/A.RE
1N/A.RS 4
1N/A.Sp
1N/AShould be back to the single level of indentation.
1N/A.RE
1N/A.PP
1N/AShould be back to regular indentation.
1N/A.PP
1N/ANow also check the transformation of * into real bullets for man pages.
1N/A.IP "\(bu" 4
1N/AAn item. We're also testing using =over without a number, and making sure
1N/Athat item text wraps properly.
1N/A.IP "\(bu" 4
1N/AAnother item.
1N/A.PP
1N/Aand now test the numbering of item blocks.
1N/A.IP "1." 4
1N/AFirst item.
1N/A.IP "2." 4
1N/ASecond item.
1N/A.SH "FORMATTING CODES"
1N/A.IX Header "FORMATTING CODES"
1N/AAnother test taken from Pod::Parser.
1N/A.PP
1N/AThis is a test to see if I can do not only \f(CW$self\fR and \f(CW\*(C`method()\*(C'\fR, but
1N/Aalso \f(CW\*(C`$self\->method()\*(C'\fR and \f(CW\*(C`$self\->{FIELDNAME}\*(C'\fR and
1N/A\&\f(CW\*(C`$Foo <=> $Bar\*(C'\fR without resorting to escape sequences. If
1N/AI want to refer to the right-shift operator I can do something
1N/Alike \f(CW\*(C`$x >> 3\*(C'\fR or even \f(CW\*(C`$y >> 5\*(C'\fR.
1N/A.PP
1N/ANow for the grand finale of \f(CW\*(C`$self\->method()\->{FIELDNAME} = {FOO=>BAR}\*(C'\fR.
1N/AAnd I also want to make sure that newlines work like this
1N/A\&\f(CW\*(C`$self\->{FOOBAR} >> 3 and [$b => $a]\->[$a <=> $b]\*(C'\fR
1N/A.PP
1N/AOf course I should still be able to do all this \fIwith\fR escape sequences
1N/Atoo: \f(CW\*(C`$self\->method()\*(C'\fR and \f(CW\*(C`$self\->{FIELDNAME}\*(C'\fR and
1N/A\&\f(CW\*(C`{FOO=>BAR}\*(C'\fR.
1N/A.PP
1N/ADont forget \f(CW\*(C`$self\->method()\->{FIELDNAME} = {FOO=>BAR}\*(C'\fR.
1N/A.PP
1N/AAnd make sure that \f(CW0\fR works too!
1N/A.PP
1N/ANow, if I use << or >> as my delimiters, then I have to use whitespace.
1N/ASo things like \f(CW\*(C`<$self\-\*(C'\fR\fImethod()\fR>> and \f(CW\*(C`<$self\-\*(C'\fR{\s-1FIELDNAME\s0}>> wont end
1N/Aup doing what you might expect since the first > will still terminate
1N/Athe first < seen.
1N/A.PP
1N/ALets make sure these work for empty ones too, like and \f(CW\*(C`>>\*(C'\fR
1N/A(just to be obnoxious)
1N/A.PP
1N/AThe statement: \f(CW\*(C`This is dog kind's \f(CIfinest\f(CW hour!\*(C'\fR is a parody of a
1N/Aquotation from Winston Churchill.
1N/A.PP
1N/AThe following tests are added to those:
1N/A.PP
1N/AMake sure that a few oth\&er odd \fI\&things\fR still work. This should be
1N/Aa vertical bar: |. Here's a test of a few more special escapes
1N/Athat have to be supported:
1N/A.IP "&" 3
1N/AAn ampersand.
1N/A.IP "'" 3
1N/AAn apostrophe.
1N/A.IP "<" 3
1N/AA less-than sign.
1N/A.IP ">" 3
1N/AA greater-than sign.
1N/A.IP """" 3
1N/AA double quotation mark.
1N/A.IP "/" 3
1N/AA forward slash.
1N/A.PP
1N/ATry to get this bit of text over towards the edge so |that\ all\ of\ this\ text\ inside\ S<>\ won't| be wrapped. Also test the
1N/A|same\ thing\ with\ non-breaking\ spaces.|
1N/A.PP
1N/AThere is a soft hyphen in hyphen at hy\-phen.
1N/A.PP
1N/AThis is a test of an index entry.
1N/A.IX Xref "index entry"
1N/A.SH "VERBATIM"
1N/A.IX Header "VERBATIM"
1N/AThrow in a few verbatim paragraphs.
1N/A.PP
1N/A.Vb 8
1N/A\& use Term::ANSIColor;
1N/A\& print color 'bold blue';
1N/A\& print "This text is bold blue.\en";
1N/A\& print color 'reset';
1N/A\& print "This text is normal.\en";
1N/A\& print colored ("Yellow on magenta.\en", 'yellow on_magenta');
1N/A\& print "This text is normal.\en";
1N/A\& print colored ['yellow on_magenta'], "Yellow on magenta.\en";
1N/A.Ve
1N/A.PP
1N/A.Vb 2
1N/A\& use Term::ANSIColor qw(uncolor);
1N/A\& print uncolor '01;31', "\en";
1N/A.Ve
1N/A.PP
1N/ABut this isn't verbatim (make sure it wraps properly), and the next
1N/Aparagraph is again:
1N/A.PP
1N/A.Vb 2
1N/A\& use Term::ANSIColor qw(:constants);
1N/A\& print BOLD, BLUE, "This text is in bold blue.\en", RESET;
1N/A.Ve
1N/A.PP
1N/A.Vb 1
1N/A\& use Term::ANSIColor qw(:constants); $Term::ANSIColor::AUTORESET = 1; print BOLD BLUE "This text is in bold blue.\en"; print "This text is normal.\en";
1N/A.Ve
1N/A.PP
1N/A(Ugh, that's obnoxiously long.) Try different spacing:
1N/A.PP
1N/A.Vb 7
1N/A\& Starting with a tab.
1N/A\&Not
1N/A\&starting
1N/A\&with
1N/A\&a
1N/A\&tab. But this should still be verbatim.
1N/A\& As should this.
1N/A.Ve
1N/A.PP
1N/AThis isn't.
1N/A.PP
1N/A.Vb 2
1N/A\& This is. And this: is an internal tab. It should be:
1N/A\& |--| <= lined up with that.
1N/A.Ve
1N/A.PP
1N/A(Tricky, but tabs should be expanded before the translator starts in on
1N/Athe text since otherwise text with mixed tabs and spaces will get messed
1N/Aup.)
1N/A.PP
1N/A.Vb 5
1N/A\& And now we test verbatim paragraphs right before a heading. Older
1N/A\& versions of Pod::Man generated two spaces between paragraphs like this
1N/A\& and the heading. (In order to properly test this, one may have to
1N/A\& visually inspect the nroff output when run on the generated *roff
1N/A\& text, unfortunately.)
1N/A.Ve
1N/A.SH "CONCLUSION"
1N/A.IX Header "CONCLUSION"
1N/AThat's all, folks!