Commit | Line | Data |
b616daaf |
1 | .SH "NAME" |
2da3dd12 |
2 | basic.pod \- Test of various basic POD features in translators. |
b616daaf |
3 | .SH "HEADINGS" |
4 | .IX Header "HEADINGS" |
5 | Try a few different levels of headings, with embedded formatting codes and |
6 | other interesting bits. |
7 | .ie n .SH "This ""is"" a ""level 1"" heading" |
8 | .el .SH "This \f(CWis\fP a ``level 1'' heading" |
9 | .IX Header "This is a level 1 heading" |
10 | .Sh "``Level'' ""2 \fIheading\fP" |
11 | .IX Subsection "``Level'' ""2 heading" |
12 | \fILevel 3 \f(BIheading \f(BIwith \f(CB\*(C`weird \f(CBstuff "" (double quote)\f(CB\*(C'\f(BI\f(BI\fI\fR |
13 | .IX Subsection "Level 3 heading with weird stuff """" (double quote)" |
14 | .PP |
15 | Level "4 \f(CW\*(C`heading\*(C'\fR |
16 | .IX Subsection "Level ""4 heading" |
17 | .PP |
18 | Now try again with \fBintermixed\fR \fItext\fR. |
19 | .ie n .SH "This ""is"" a ""level 1"" heading" |
20 | .el .SH "This \f(CWis\fP a ``level 1'' heading" |
21 | .IX Header "This is a level 1 heading" |
22 | Text. |
23 | .Sh "``Level'' 2 \fIheading\fP" |
24 | .IX Subsection "``Level'' 2 heading" |
25 | Text. |
26 | .PP |
27 | \fILevel 3 \f(BIheading \f(BIwith \f(CB\*(C`weird \f(CBstuff\f(CB\*(C'\f(BI\f(BI\fI\fR |
28 | .IX Subsection "Level 3 heading with weird stuff" |
29 | .PP |
30 | Text. |
31 | .PP |
32 | Level "4 \f(CW\*(C`heading\*(C'\fR |
33 | .IX Subsection "Level ""4 heading" |
34 | .PP |
35 | Text. |
36 | .SH "LINKS" |
37 | .IX Header "LINKS" |
38 | These are all taken from the Pod::Parser tests. |
39 | .PP |
40 | Try out \fI\s-1LOTS\s0\fR of different ways of specifying references: |
41 | .PP |
42 | Reference the \*(L"section\*(R" in manpage |
43 | .PP |
44 | Reference the \*(L"section\*(R" in manpage |
45 | .PP |
46 | Reference the \*(L"section\*(R" in manpage |
47 | .PP |
48 | Reference the \*(L"section\*(R" in manpage |
49 | .PP |
50 | Reference the \*(L"manpage/section\*(R" |
51 | .PP |
52 | Reference the \*(L"section\*(R" in \*(L"manpage\*(R" |
53 | .PP |
54 | Reference the \*(L"section\*(R" in manpage |
55 | .PP |
56 | Reference the \*(L"section\*(R" in manpage |
57 | .PP |
58 | Reference the \*(L"section\*(R" in manpage |
59 | .PP |
60 | Now try it using the new \*(L"|\*(R" stuff ... |
61 | .PP |
62 | Reference the thistext| |
63 | .PP |
64 | Reference the thistext | |
65 | .PP |
66 | Reference the thistext| |
67 | .PP |
68 | Reference the thistext | |
69 | .PP |
70 | Reference the thistext| |
71 | .PP |
72 | Reference the thistext | |
73 | .PP |
74 | Reference the thistext| |
75 | .PP |
76 | Reference the thistext| |
77 | .PP |
78 | Reference the thistext | |
79 | .PP |
80 | And then throw in a few new ones of my own. |
81 | .PP |
82 | foo |
83 | .PP |
84 | foo |
85 | .PP |
86 | \&\*(L"bar\*(R" in foo |
87 | .PP |
88 | \&\*(L"baz boo\*(R" in foo |
89 | .PP |
90 | \&\*(L"bar\*(R" |
91 | .PP |
92 | \&\*(L"baz boo\*(R" |
93 | .PP |
94 | \&\*(L"baz boo\*(R" |
95 | .PP |
96 | \&\*(L"baz boo\*(R" in foo bar |
97 | .PP |
98 | \&\*(L"baz boo\*(R" in foo bar |
99 | .PP |
100 | \&\*(L"boo\*(R" in foo bar baz |
101 | .PP |
102 | \&\*(L"boo var baz\*(R" |
103 | .PP |
104 | \&\*(L"bar baz\*(R" |
105 | .PP |
106 | \&\*(L"boo bar baz / baz boo\*(R" |
107 | .PP |
108 | \&\*(L"boo\*(R", \*(L"bar\*(R", and \*(L"baz\*(R" |
109 | .PP |
110 | foo\&bar |
111 | .PP |
112 | Testing \fIitalics\fR |
113 | .PP |
114 | "\fIItalic\fR text" in foo |
115 | .PP |
116 | "Section \f(CW\*(C`with\*(C'\fR \fI\f(BIother\fI markup\fR" in foo|bar\& |
117 | .PP |
118 | Nested <http://www.perl.org/> |
119 | .SH "OVER AND ITEMS" |
120 | .IX Header "OVER AND ITEMS" |
121 | Taken from Pod::Parser tests, this is a test to ensure that multiline |
122 | =item paragraphs get indented appropriately. |
123 | .IP "This is a test." 4 |
124 | .IX Item "This is a test." |
125 | .PP |
126 | There should be whitespace now before this line. |
127 | .PP |
128 | Taken from Pod::Parser tests, this is a test to ensure the nested =item |
129 | paragraphs get indented appropriately. |
130 | .IP "1" 2 |
131 | .IX Item "1" |
132 | First section. |
133 | .RS 2 |
134 | .IP "a" 2 |
135 | .IX Item "a" |
136 | this is item a |
137 | .IP "b" 2 |
138 | .IX Item "b" |
139 | this is item b |
140 | .RE |
141 | .RS 2 |
142 | .RE |
143 | .IP "2" 2 |
144 | .IX Item "2" |
145 | Second section. |
146 | .RS 2 |
147 | .IP "a" 2 |
148 | .IX Item "a" |
149 | this is item a |
150 | .IP "b" 2 |
151 | .IX Item "b" |
152 | this is item b |
153 | .IP "c" 2 |
154 | .IX Item "c" |
155 | .PD 0 |
156 | .IP "d" 2 |
157 | .IX Item "d" |
158 | .PD |
159 | This is item c & d. |
160 | .RE |
161 | .RS 2 |
162 | .RE |
163 | .PP |
164 | Now some additional weirdness of our own. Make sure that multiple tags |
165 | for one paragraph are properly compacted. |
166 | .ie n .IP """foo""" 4 |
167 | .el .IP "``foo''" 4 |
168 | .IX Item "foo" |
169 | .PD 0 |
170 | .IP "\fBbar\fR" 4 |
171 | .IX Item "bar" |
172 | .ie n .IP """baz""" 4 |
173 | .el .IP "\f(CWbaz\fR" 4 |
174 | .IX Item "baz" |
175 | .PD |
176 | There shouldn't be any spaces between any of these item tags; this idiom |
177 | is used in perlfunc. |
178 | .IP "Some longer item text" 4 |
179 | .IX Item "Some longer item text" |
180 | Just to make sure that we test paragraphs where the item text doesn't fit |
181 | in the margin of the paragraph (and make sure that this paragraph fills a |
182 | few lines). |
183 | .Sp |
184 | Let's also make it multiple paragraphs to be sure that works. |
185 | .PP |
186 | Test use of =over without =item as a block \*(L"quote\*(R" or block paragraph. |
187 | .Sp |
188 | .RS 4 |
189 | This should be indented four spaces but otherwise formatted the same as |
190 | any other regular text paragraph. Make sure it's long enough to see the |
191 | results of the formatting..... |
192 | .RE |
193 | .PP |
194 | Now try the same thing nested, and make sure that the indentation is reset |
195 | back properly. |
196 | .RS 4 |
197 | .Sp |
198 | .RS 4 |
199 | This paragraph should be doubly indented. |
200 | .RE |
201 | .RE |
202 | .RS 4 |
203 | .Sp |
204 | This paragraph should only be singly indented. |
205 | .IP "\(bu" 4 |
206 | This is an item in the middle of a block\-quote, which should be allowed. |
207 | .IP "\(bu" 4 |
208 | We're also testing tagless item commands. |
209 | .RE |
210 | .RS 4 |
211 | .Sp |
212 | Should be back to the single level of indentation. |
213 | .RE |
214 | .PP |
215 | Should be back to regular indentation. |
216 | .PP |
217 | Now also check the transformation of * into real bullets for man pages. |
218 | .IP "\(bu" 4 |
219 | An item. We're also testing using =over without a number, and making sure |
220 | that item text wraps properly. |
221 | .IP "\(bu" 4 |
222 | Another item. |
223 | .PP |
224 | and now test the numbering of item blocks. |
225 | .IP "1." 4 |
226 | First item. |
227 | .IP "2." 4 |
228 | Second item. |
229 | .SH "FORMATTING CODES" |
230 | .IX Header "FORMATTING CODES" |
231 | Another test taken from Pod::Parser. |
232 | .PP |
233 | This is a test to see if I can do not only \f(CW$self\fR and \f(CW\*(C`method()\*(C'\fR, but |
234 | also \f(CW\*(C`$self\->method()\*(C'\fR and \f(CW\*(C`$self\->{FIELDNAME}\*(C'\fR and |
235 | \&\f(CW\*(C`$Foo <=> $Bar\*(C'\fR without resorting to escape sequences. If |
236 | I want to refer to the right-shift operator I can do something |
237 | like \f(CW\*(C`$x >> 3\*(C'\fR or even \f(CW\*(C`$y >> 5\*(C'\fR. |
238 | .PP |
239 | Now for the grand finale of \f(CW\*(C`$self\->method()\->{FIELDNAME} = {FOO=>BAR}\*(C'\fR. |
240 | And I also want to make sure that newlines work like this |
241 | \&\f(CW\*(C`$self\->{FOOBAR} >> 3 and [$b => $a]\->[$a <=> $b]\*(C'\fR |
242 | .PP |
243 | Of course I should still be able to do all this \fIwith\fR escape sequences |
244 | too: \f(CW\*(C`$self\->method()\*(C'\fR and \f(CW\*(C`$self\->{FIELDNAME}\*(C'\fR and |
245 | \&\f(CW\*(C`{FOO=>BAR}\*(C'\fR. |
246 | .PP |
247 | Dont forget \f(CW\*(C`$self\->method()\->{FIELDNAME} = {FOO=>BAR}\*(C'\fR. |
248 | .PP |
249 | And make sure that \f(CW0\fR works too! |
250 | .PP |
251 | Now, if I use << or >> as my delimiters, then I have to use whitespace. |
252 | So things like \f(CW\*(C`<$self\-\*(C'\fR\fImethod()\fR>> and \f(CW\*(C`<$self\-\*(C'\fR{\s-1FIELDNAME\s0}>> wont end |
253 | up doing what you might expect since the first > will still terminate |
254 | the first < seen. |
255 | .PP |
256 | Lets make sure these work for empty ones too, like and \f(CW\*(C`>>\*(C'\fR |
257 | (just to be obnoxious) |
258 | .PP |
259 | The statement: \f(CW\*(C`This is dog kind's \f(CIfinest\f(CW hour!\*(C'\fR is a parody of a |
260 | quotation from Winston Churchill. |
261 | .PP |
262 | The following tests are added to those: |
263 | .PP |
264 | Make sure that a few oth\&er odd \fI\&things\fR still work. This should be |
265 | a vertical bar: |. Here's a test of a few more special escapes |
266 | that have to be supported: |
267 | .IP "&" 3 |
268 | An ampersand. |
269 | .IP "'" 3 |
270 | An apostrophe. |
271 | .IP "<" 3 |
272 | A less-than sign. |
273 | .IP ">" 3 |
274 | A greater-than sign. |
275 | .IP """" 3 |
276 | A double quotation mark. |
277 | .IP "/" 3 |
278 | A forward slash. |
279 | .PP |
280 | Try 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 |
281 | |same\ thing\ with\ non-breaking\ spaces.| |
282 | .PP |
283 | There is a soft hyphen in hyphen at hy\-phen. |
284 | .PP |
285 | This is a test of an index entry. |
286 | .IX Xref "index entry" |
287 | .SH "VERBATIM" |
288 | .IX Header "VERBATIM" |
289 | Throw in a few verbatim paragraphs. |
290 | .PP |
291 | .Vb 8 |
292 | \& use Term::ANSIColor; |
293 | \& print color 'bold blue'; |
294 | \& print "This text is bold blue.\en"; |
295 | \& print color 'reset'; |
296 | \& print "This text is normal.\en"; |
297 | \& print colored ("Yellow on magenta.\en", 'yellow on_magenta'); |
298 | \& print "This text is normal.\en"; |
299 | \& print colored ['yellow on_magenta'], "Yellow on magenta.\en"; |
300 | .Ve |
2da3dd12 |
301 | .PP |
b616daaf |
302 | .Vb 2 |
303 | \& use Term::ANSIColor qw(uncolor); |
304 | \& print uncolor '01;31', "\en"; |
305 | .Ve |
2da3dd12 |
306 | .PP |
b616daaf |
307 | But this isn't verbatim (make sure it wraps properly), and the next |
308 | paragraph is again: |
309 | .PP |
310 | .Vb 2 |
311 | \& use Term::ANSIColor qw(:constants); |
312 | \& print BOLD, BLUE, "This text is in bold blue.\en", RESET; |
313 | .Ve |
2da3dd12 |
314 | .PP |
b616daaf |
315 | .Vb 1 |
316 | \& 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"; |
317 | .Ve |
2da3dd12 |
318 | .PP |
b616daaf |
319 | (Ugh, that's obnoxiously long.) Try different spacing: |
320 | .PP |
321 | .Vb 7 |
322 | \& Starting with a tab. |
323 | \&Not |
324 | \&starting |
325 | \&with |
326 | \&a |
327 | \&tab. But this should still be verbatim. |
328 | \& As should this. |
329 | .Ve |
2da3dd12 |
330 | .PP |
b616daaf |
331 | This isn't. |
332 | .PP |
333 | .Vb 2 |
334 | \& This is. And this: is an internal tab. It should be: |
335 | \& |--| <= lined up with that. |
336 | .Ve |
2da3dd12 |
337 | .PP |
b616daaf |
338 | (Tricky, but tabs should be expanded before the translator starts in on |
339 | the text since otherwise text with mixed tabs and spaces will get messed |
340 | up.) |
2da3dd12 |
341 | .PP |
342 | .Vb 5 |
343 | \& And now we test verbatim paragraphs right before a heading. Older |
344 | \& versions of Pod::Man generated two spaces between paragraphs like this |
345 | \& and the heading. (In order to properly test this, one may have to |
346 | \& visually inspect the nroff output when run on the generated *roff |
347 | \& text, unfortunately.) |
348 | .Ve |
349 | .SH "CONCLUSION" |
350 | .IX Header "CONCLUSION" |
351 | That's all, folks! |