This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Pod::Html - correctly link to =item's on the same page
[perl5.git] / lib / Pod / t / basic.cap
CommitLineData
b4558dc4
JH
1\e[1mNAME\e[m
2 basic.pod - Test of various basic POD features in translators.
3
4\e[1mHEADINGS\e[m
5 Try a few different levels of headings, with embedded formatting codes and
6 other interesting bits.
7
8\e[1mThis "is" a "level 1" heading\e[m
9 \e[1m``Level'' "2 \e[4mheading\e[m\e[m
10 Level 3 \e[1mheading \e[4mwith "weird stuff "" (double quote)"\e[m\e[m
11 Level "4 "heading"
12 Now try again with \e[1mintermixed\e[m text.
13
14\e[1mThis "is" a "level 1" heading\e[m
15 Text.
16
17 \e[1m``Level'' 2 \e[4mheading\e[m\e[m
18 Text.
19
20 Level 3 \e[1mheading \e[4mwith "weird stuff"\e[m\e[m
21 Text.
22
23 Level "4 "heading"
24 Text.
25
26\e[1mLINKS\e[m
27 These are all taken from the Pod::Parser tests.
28
29 Try out \e[4mLOTS\e[m 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[4mitalics\e[m
102
103 "\e[4mItalic\e[m text" in foo
104
105 "Section "with" \e[4m\e[1mother\e[m markup\e[m" in foo|bar
106
107 Nested <http://www.perl.org/>
108
109\e[1mOVER AND ITEMS\e[m
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 for
136 one paragraph are properly compacted.
137
138 "foo"
139 \e[1mbar\e[m
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 doesn't
146 fit in the margin of the paragraph (and make sure that this paragraph
147 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 see
155 the results of the formatting.....
156
157 Now try the same thing nested, and make sure that the indentation is reset
158 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[m
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 also
190 "$self->method()" and "$self->{FIELDNAME}" and "$Foo <=> $Bar" without
191 resorting to escape sequences. If I want to refer to the right-shift
192 operator I can do something like "$x >> 3" or even "$y >> 5".
193
194 Now for the grand finale of "$self->method()->{FIELDNAME} = {FOO=>BAR}".
195 And I also want to make sure that newlines work like this "$self->{FOOBAR}
196 >> 3 and [$b => $a]->[$a <=> $b]"
197
198 Of course I should still be able to do all this \e[4mwith\e[m escape sequences too:
199 "$self->method()" and "$self->{FIELDNAME}" and "{FOO=>BAR}".
200
201 Dont forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
202
203 And make sure that 0 works too!
204
205 Now, if I use << or >> as my delimiters, then I have to use whitespace. So
206 things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> wont end up
207 doing what you might expect since the first > will still terminate the
208 first < seen.
209
210 Lets make sure these work for empty ones too, like and ">>" (just to be
211 obnoxious)
212
213 The statement: "This is dog kind's \e[4mfinest\e[m hour!" is a parody of a
214 quotation from Winston Churchill.
215
216 The following tests are added to those:
217
218 Make sure that a few other odd \e[4mthings\e[m still work. This should be a
219 vertical bar: |. Here's a test of a few more special escapes that have to
220 be supported:
221
222 & An ampersand.
223
224 ' An apostrophe.
225
226 < A less-than sign.
227
228 > A greater-than sign.
229
230 " A double quotation mark.
231
232 / A forward slash.
233
234 Try to get this bit of text over towards the edge so
235 |that all of this text inside S<> won't| be wrapped. Also test the
236 |same thing with non-breaking spaces.|
237
238 There is a soft hyphen in hyphen at hy-phen.
239
240 This is a test of an index entry.
241
242\e[1mVERBATIM\e[m
243 Throw in a few verbatim paragraphs.
244
245 use Term::ANSIColor;
246 print color 'bold blue';
247 print "This text is bold blue.\n";
248 print color 'reset';
249 print "This text is normal.\n";
250 print colored ("Yellow on magenta.\n", 'yellow on_magenta');
251 print "This text is normal.\n";
252 print colored ['yellow on_magenta'], "Yellow on magenta.\n";
253
254 use Term::ANSIColor qw(uncolor);
255 print uncolor '01;31', "\n";
256
257 But this isn't verbatim (make sure it wraps properly), and the next
258 paragraph is again:
259
260 use Term::ANSIColor qw(:constants);
261 print BOLD, BLUE, "This text is in bold blue.\n", RESET;
262
263 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";
264
265 (Ugh, that's obnoxiously long.) Try different spacing:
266
267 Starting with a tab.
268 Not
269 starting
270 with
271 a
272 tab. But this should still be verbatim.
273 As should this.
274
275 This isn't.
276
277 This is. And this: is an internal tab. It should be:
278 |--| <= lined up with that.
279
280 (Tricky, but tabs should be expanded before the translator starts in on
281 the text since otherwise text with mixed tabs and spaces will get messed
282 up.)
283
2da3dd12
AMS
284 And now we test verbatim paragraphs right before a heading. Older
285 versions of Pod::Man generated two spaces between paragraphs like this
286 and the heading. (In order to properly test this, one may have to
287 visually inspect the nroff output when run on the generated *roff
288 text, unfortunately.)
289
290\e[1mCONCLUSION\e[m
291 That's all, folks!
292