This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade to podlators 1.14.
[perl5.git] / lib / Pod / t / basic.clr
1 \e[1mNAME\e[0m
2     basic.pod - Test of various basic POD features in translators.
3
4 \e[1mHEADINGS\e[0m
5     Try a few different levels of headings, with embedded formatting codes
6     and other interesting bits.
7
8 \e[1mThis "is" a "level 1" heading\e[0m
9   \e[1m``Level'' "2 \e[33mheading\e[0m\e[0m
10    Level 3 \e[1mheading \e[33mwith "weird \e[36mstuff "" (double quote)\e[0m"\e[0m\e[0m
11    Level "4 "heading"
12     Now try again with \e[1mintermixed\e[0m \e[36mtext\e[0m.
13
14 \e[1mThis "is" a "level 1" heading\e[0m
15     Text.
16
17   \e[1m``Level'' 2 \e[33mheading\e[0m\e[0m
18     Text.
19
20    Level 3 \e[1mheading \e[33mwith "weird \e[36mstuff\e[0m"\e[0m\e[0m
21     Text.
22
23    Level "4 "heading"
24     Text.
25
26 \e[1mLINKS\e[0m
27     These are all taken from the Pod::Parser tests.
28
29     Try out \e[33mLOTS\e[0m of different ways of specifying references:
30
31     Reference the "section" in manpage
32
33     Reference the "section" in manpage
34
35     Reference the "section" in manpage
36
37     Reference the "section" in manpage
38
39     Reference the "manpage/section"
40
41     Reference the "section" in "manpage"
42
43     Reference the "section" in manpage
44
45     Reference the "section" in manpage
46
47     Reference the "section" in manpage
48
49     Now try it using the new "|" stuff ...
50
51     Reference the thistext|
52
53     Reference the thistext |
54
55     Reference the thistext|
56
57     Reference the thistext |
58
59     Reference the thistext|
60
61     Reference the thistext |
62
63     Reference the thistext|
64
65     Reference the thistext|
66
67     Reference the thistext |
68
69     And then throw in a few new ones of my own.
70
71     foo
72
73     foo
74
75     "bar" in foo
76
77     "baz boo" in foo
78
79     "bar"
80
81     "baz boo"
82
83     "baz boo"
84
85     "baz boo" in foo bar
86
87     "baz boo" in foo bar
88
89     "boo" in foo bar baz
90
91     "boo var baz"
92
93     "bar baz"
94
95     "boo bar baz / baz boo"
96
97     "boo", "bar", and "baz"
98
99     foobar
100
101     Testing \e[33mitalics\e[0m
102
103     "\e[33mItalic\e[0m text" in foo
104
105     "Section "with" \e[33m\e[1mother\e[0m markup\e[0m" in foo|bar
106
107     Nested <http://www.perl.org/>
108
109 \e[1mOVER AND ITEMS\e[0m
110     Taken from Pod::Parser tests, this is a test to ensure that multiline
111     =item paragraphs get indented appropriately.
112
113     This is a test.
114
115     There should be whitespace now before this line.
116
117     Taken from Pod::Parser tests, this is a test to ensure the nested =item
118     paragraphs get indented appropriately.
119
120     1 First section.
121
122       a this is item a
123
124       b this is item b
125
126     2 Second section.
127
128       a this is item a
129
130       b this is item b
131
132       c
133       d This is item c & d.
134
135     Now some additional weirdness of our own. Make sure that multiple tags
136     for one paragraph are properly compacted.
137
138     "foo"
139     \e[1mbar\e[0m
140     "baz"
141         There shouldn't be any spaces between any of these item tags; this
142         idiom is used in perlfunc.
143
144     Some longer item text
145         Just to make sure that we test paragraphs where the item text
146         doesn't fit in the margin of the paragraph (and make sure that this
147         paragraph fills a few lines).
148
149         Let's also make it multiple paragraphs to be sure that works.
150
151     Test use of =over without =item as a block "quote" or block paragraph.
152
153         This should be indented four spaces but otherwise formatted the same
154         as any other regular text paragraph. Make sure it's long enough to
155         see the results of the formatting.....
156
157     Now try the same thing nested, and make sure that the indentation is
158     reset back properly.
159
160             This paragraph should be doubly indented.
161
162         This paragraph should only be singly indented.
163
164         *   This is an item in the middle of a block-quote, which should be
165             allowed.
166
167         *   We're also testing tagless item commands.
168
169         Should be back to the single level of indentation.
170
171     Should be back to regular indentation.
172
173     Now also check the transformation of * into real bullets for man pages.
174
175     *   An item. We're also testing using =over without a number, and making
176         sure that item text wraps properly.
177
178     *   Another item.
179
180     and now test the numbering of item blocks.
181
182     1.  First item.
183
184     2.  Second item.
185
186 \e[1mFORMATTING CODES\e[0m
187     Another test taken from Pod::Parser.
188
189     This is a test to see if I can do not only $self and "method()", but
190     also "$self->method()" and "$self->{FIELDNAME}" and "$Foo <=> $Bar"
191     without resorting to escape sequences. If I want to refer to the
192     right-shift operator I can do something like "$x >> 3" or even "$y >>
193     5".
194
195     Now for the grand finale of "$self->method()->{FIELDNAME} = {FOO=>BAR}".
196     And I also want to make sure that newlines work like this
197     "$self->{FOOBAR} >> 3 and [$b => $a]->[$a <=> $b]"
198
199     Of course I should still be able to do all this \e[33mwith\e[0m escape sequences
200     too: "$self->method()" and "$self->{FIELDNAME}" and "{FOO=>BAR}".
201
202     Dont forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
203
204     And make sure that 0 works too!
205
206     Now, if I use << or >> as my delimiters, then I have to use whitespace.
207     So things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> wont end
208     up doing what you might expect since the first > will still terminate
209     the first < seen.
210
211     Lets make sure these work for empty ones too, like and ">>" (just to be
212     obnoxious)
213
214     The statement: "This is dog kind's \e[33mfinest\e[0m hour!" is a parody of a
215     quotation from Winston Churchill.
216
217     The following tests are added to those:
218
219     Make sure that a few other odd \e[33mthings\e[0m still work. This should be a
220     vertical bar: |. Here's a test of a few more special escapes that have
221     to be supported:
222
223     &  An ampersand.
224
225     '  An apostrophe.
226
227     <  A less-than sign.
228
229     >  A greater-than sign.
230
231     "  A double quotation mark.
232
233     /  A forward slash.
234
235     Try to get this bit of text over towards the edge so
236     |that all of this text inside S<> won't| be wrapped. Also test the
237     |same thing with non-breaking spaces.|
238
239     There is a soft hyphen in hyphen at hy-phen.
240
241     This is a test of an index entry.
242
243 \e[1mVERBATIM\e[0m
244     Throw in a few verbatim paragraphs.
245
246         use Term::ANSIColor;
247         print color 'bold blue';
248         print "This text is bold blue.\n";
249         print color 'reset';
250         print "This text is normal.\n";
251         print colored ("Yellow on magenta.\n", 'yellow on_magenta');
252         print "This text is normal.\n";
253         print colored ['yellow on_magenta'], "Yellow on magenta.\n";
254
255         use Term::ANSIColor qw(uncolor);
256         print uncolor '01;31', "\n";
257
258     But this isn't verbatim (make sure it wraps properly), and the next
259     paragraph is again:
260
261         use Term::ANSIColor qw(:constants);
262         print BOLD, BLUE, "This text is in bold blue.\n", RESET;
263
264         use Term::ANSIColor qw(:constants); $Term::ANSIColor::AUTORESET = 1; print BOLD BLUE "This text is in bold blue.\n"; print "This text is normal.\n";
265
266     (Ugh, that's obnoxiously long.) Try different spacing:
267
268             Starting with a tab.
269     Not
270     starting
271     with
272     a
273     tab.  But this should still be verbatim.
274      As should this.
275
276     This isn't.
277
278      This is.  And this:    is an internal tab.  It should be:
279                         |--| <= lined up with that.
280
281     (Tricky, but tabs should be expanded before the translator starts in on
282     the text since otherwise text with mixed tabs and spaces will get messed
283     up.)
284