~ubuntu-branches/ubuntu/jaunty/python-docutils/jaunty

« back to all changes in this revision

Viewing changes to test/test_rst/test_field_lists.py

  • Committer: Bazaar Package Importer
  • Author(s): martin f. krafft
  • Date: 2006-07-10 11:45:05 UTC
  • mfrom: (2.1.4 edgy)
  • Revision ID: james.westby@ubuntu.com-20060710114505-otkhqcslevewxmz5
Tags: 0.4-3
Added build dependency on python-central (closes: #377580).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#! /usr/bin/env python
2
 
 
3
 
"""
4
 
:Author: David Goodger
5
 
:Contact: goodger@users.sourceforge.net
6
 
:Revision: $Revision: 1.4 $
7
 
:Date: $Date: 2002/05/07 04:23:41 $
8
 
:Copyright: This module has been placed in the public domain.
9
 
 
10
 
Tests for states.py.
11
 
"""
12
 
 
13
 
from __init__ import DocutilsTestSupport
14
 
 
15
 
def suite():
16
 
    s = DocutilsTestSupport.ParserTestSuite()
17
 
    s.generateTests(totest)
18
 
    return s
19
 
 
20
 
totest = {}
21
 
 
22
 
totest['field_lists'] = [
23
 
["""\
24
 
One-liners:
25
 
 
26
 
:Author: Me
27
 
 
28
 
:Version: 1
29
 
 
30
 
:Date: 2001-08-11
31
 
 
32
 
:Parameter i: integer
33
 
""",
34
 
"""\
35
 
<document>
36
 
    <paragraph>
37
 
        One-liners:
38
 
    <field_list>
39
 
        <field>
40
 
            <field_name>
41
 
                Author
42
 
            <field_body>
43
 
                <paragraph>
44
 
                    Me
45
 
        <field>
46
 
            <field_name>
47
 
                Version
48
 
            <field_body>
49
 
                <paragraph>
50
 
                    1
51
 
        <field>
52
 
            <field_name>
53
 
                Date
54
 
            <field_body>
55
 
                <paragraph>
56
 
                    2001-08-11
57
 
        <field>
58
 
            <field_name>
59
 
                Parameter
60
 
            <field_argument>
61
 
                i
62
 
            <field_body>
63
 
                <paragraph>
64
 
                    integer
65
 
"""],
66
 
["""\
67
 
One-liners, no blank lines:
68
 
 
69
 
:Author: Me
70
 
:Version: 1
71
 
:Date: 2001-08-11
72
 
:Parameter i: integer
73
 
""",
74
 
"""\
75
 
<document>
76
 
    <paragraph>
77
 
        One-liners, no blank lines:
78
 
    <field_list>
79
 
        <field>
80
 
            <field_name>
81
 
                Author
82
 
            <field_body>
83
 
                <paragraph>
84
 
                    Me
85
 
        <field>
86
 
            <field_name>
87
 
                Version
88
 
            <field_body>
89
 
                <paragraph>
90
 
                    1
91
 
        <field>
92
 
            <field_name>
93
 
                Date
94
 
            <field_body>
95
 
                <paragraph>
96
 
                    2001-08-11
97
 
        <field>
98
 
            <field_name>
99
 
                Parameter
100
 
            <field_argument>
101
 
                i
102
 
            <field_body>
103
 
                <paragraph>
104
 
                    integer
105
 
"""],
106
 
["""\
107
 
:field:
108
 
empty item above, no blank line
109
 
""",
110
 
"""\
111
 
<document>
112
 
    <field_list>
113
 
        <field>
114
 
            <field_name>
115
 
                field
116
 
            <field_body>
117
 
    <system_message level="2" type="WARNING">
118
 
        <paragraph>
119
 
            Field list ends without a blank line; unexpected unindent at line 2.
120
 
    <paragraph>
121
 
        empty item above, no blank line
122
 
"""],
123
 
["""\
124
 
Field bodies starting on the next line:
125
 
 
126
 
:Author:
127
 
  Me
128
 
:Version:
129
 
  1
130
 
:Date:
131
 
  2001-08-11
132
 
:Parameter i:
133
 
  integer
134
 
""",
135
 
"""\
136
 
<document>
137
 
    <paragraph>
138
 
        Field bodies starting on the next line:
139
 
    <field_list>
140
 
        <field>
141
 
            <field_name>
142
 
                Author
143
 
            <field_body>
144
 
                <paragraph>
145
 
                    Me
146
 
        <field>
147
 
            <field_name>
148
 
                Version
149
 
            <field_body>
150
 
                <paragraph>
151
 
                    1
152
 
        <field>
153
 
            <field_name>
154
 
                Date
155
 
            <field_body>
156
 
                <paragraph>
157
 
                    2001-08-11
158
 
        <field>
159
 
            <field_name>
160
 
                Parameter
161
 
            <field_argument>
162
 
                i
163
 
            <field_body>
164
 
                <paragraph>
165
 
                    integer
166
 
"""],
167
 
["""\
168
 
One-paragraph, multi-liners:
169
 
 
170
 
:Authors: Me,
171
 
          Myself,
172
 
          and I
173
 
:Version: 1
174
 
          or so
175
 
:Date: 2001-08-11
176
 
       (Saturday)
177
 
:Parameter i: counter
178
 
              (integer)
179
 
""",
180
 
"""\
181
 
<document>
182
 
    <paragraph>
183
 
        One-paragraph, multi-liners:
184
 
    <field_list>
185
 
        <field>
186
 
            <field_name>
187
 
                Authors
188
 
            <field_body>
189
 
                <paragraph>
190
 
                    Me,
191
 
                    Myself,
192
 
                    and I
193
 
        <field>
194
 
            <field_name>
195
 
                Version
196
 
            <field_body>
197
 
                <paragraph>
198
 
                    1
199
 
                    or so
200
 
        <field>
201
 
            <field_name>
202
 
                Date
203
 
            <field_body>
204
 
                <paragraph>
205
 
                    2001-08-11
206
 
                    (Saturday)
207
 
        <field>
208
 
            <field_name>
209
 
                Parameter
210
 
            <field_argument>
211
 
                i
212
 
            <field_body>
213
 
                <paragraph>
214
 
                    counter
215
 
                    (integer)
216
 
"""],
217
 
["""\
218
 
One-paragraph, multi-liners, not lined up:
219
 
 
220
 
:Authors: Me,
221
 
  Myself,
222
 
  and I
223
 
:Version: 1
224
 
  or so
225
 
:Date: 2001-08-11
226
 
  (Saturday)
227
 
:Parameter i: counter
228
 
  (integer)
229
 
""",
230
 
"""\
231
 
<document>
232
 
    <paragraph>
233
 
        One-paragraph, multi-liners, not lined up:
234
 
    <field_list>
235
 
        <field>
236
 
            <field_name>
237
 
                Authors
238
 
            <field_body>
239
 
                <paragraph>
240
 
                    Me,
241
 
                    Myself,
242
 
                    and I
243
 
        <field>
244
 
            <field_name>
245
 
                Version
246
 
            <field_body>
247
 
                <paragraph>
248
 
                    1
249
 
                    or so
250
 
        <field>
251
 
            <field_name>
252
 
                Date
253
 
            <field_body>
254
 
                <paragraph>
255
 
                    2001-08-11
256
 
                    (Saturday)
257
 
        <field>
258
 
            <field_name>
259
 
                Parameter
260
 
            <field_argument>
261
 
                i
262
 
            <field_body>
263
 
                <paragraph>
264
 
                    counter
265
 
                    (integer)
266
 
"""],
267
 
["""\
268
 
Multiple body elements:
269
 
 
270
 
:Authors: - Me
271
 
          - Myself
272
 
          - I
273
 
 
274
 
:Abstract:
275
 
    This is a field list item's body,
276
 
    containing multiple elements.
277
 
 
278
 
    Here's a literal block::
279
 
 
280
 
        def f(x):
281
 
            return x**2 + x
282
 
 
283
 
    Even nested field lists are possible:
284
 
 
285
 
    :Date: 2001-08-11
286
 
    :Day: Saturday
287
 
    :Time: 15:07
288
 
""",
289
 
"""\
290
 
<document>
291
 
    <paragraph>
292
 
        Multiple body elements:
293
 
    <field_list>
294
 
        <field>
295
 
            <field_name>
296
 
                Authors
297
 
            <field_body>
298
 
                <bullet_list bullet="-">
299
 
                    <list_item>
300
 
                        <paragraph>
301
 
                            Me
302
 
                    <list_item>
303
 
                        <paragraph>
304
 
                            Myself
305
 
                    <list_item>
306
 
                        <paragraph>
307
 
                            I
308
 
        <field>
309
 
            <field_name>
310
 
                Abstract
311
 
            <field_body>
312
 
                <paragraph>
313
 
                    This is a field list item's body,
314
 
                    containing multiple elements.
315
 
                <paragraph>
316
 
                    Here's a literal block:
317
 
                <literal_block>
318
 
                    def f(x):
319
 
                        return x**2 + x
320
 
                <paragraph>
321
 
                    Even nested field lists are possible:
322
 
                <field_list>
323
 
                    <field>
324
 
                        <field_name>
325
 
                            Date
326
 
                        <field_body>
327
 
                            <paragraph>
328
 
                                2001-08-11
329
 
                    <field>
330
 
                        <field_name>
331
 
                            Day
332
 
                        <field_body>
333
 
                            <paragraph>
334
 
                                Saturday
335
 
                    <field>
336
 
                        <field_name>
337
 
                            Time
338
 
                        <field_body>
339
 
                            <paragraph>
340
 
                                15:07
341
 
"""],
342
 
["""\
343
 
Nested field lists on one line:
344
 
 
345
 
:field1: :field2: :field3: body
346
 
:field4: :field5: :field6: body
347
 
                  :field7: body
348
 
         :field8: body
349
 
         :field9: body line 1
350
 
           body line 2
351
 
""",
352
 
"""\
353
 
<document>
354
 
    <paragraph>
355
 
        Nested field lists on one line:
356
 
    <field_list>
357
 
        <field>
358
 
            <field_name>
359
 
                field1
360
 
            <field_body>
361
 
                <field_list>
362
 
                    <field>
363
 
                        <field_name>
364
 
                            field2
365
 
                        <field_body>
366
 
                            <field_list>
367
 
                                <field>
368
 
                                    <field_name>
369
 
                                        field3
370
 
                                    <field_body>
371
 
                                        <paragraph>
372
 
                                            body
373
 
        <field>
374
 
            <field_name>
375
 
                field4
376
 
            <field_body>
377
 
                <field_list>
378
 
                    <field>
379
 
                        <field_name>
380
 
                            field5
381
 
                        <field_body>
382
 
                            <field_list>
383
 
                                <field>
384
 
                                    <field_name>
385
 
                                        field6
386
 
                                    <field_body>
387
 
                                        <paragraph>
388
 
                                            body
389
 
                                <field>
390
 
                                    <field_name>
391
 
                                        field7
392
 
                                    <field_body>
393
 
                                        <paragraph>
394
 
                                            body
395
 
                    <field>
396
 
                        <field_name>
397
 
                            field8
398
 
                        <field_body>
399
 
                            <paragraph>
400
 
                                body
401
 
                    <field>
402
 
                        <field_name>
403
 
                            field9
404
 
                        <field_body>
405
 
                            <paragraph>
406
 
                                body line 1
407
 
                                body line 2
408
 
"""],
409
 
["""\
410
 
:Parameter i j k: multiple arguments
411
 
""",
412
 
"""\
413
 
<document>
414
 
    <field_list>
415
 
        <field>
416
 
            <field_name>
417
 
                Parameter
418
 
            <field_argument>
419
 
                i
420
 
            <field_argument>
421
 
                j
422
 
            <field_argument>
423
 
                k
424
 
            <field_body>
425
 
                <paragraph>
426
 
                    multiple arguments
427
 
"""],
428
 
["""\
429
 
Some edge cases:
430
 
 
431
 
:Empty:
432
 
:Author: Me
433
 
No blank line before this paragraph.
434
 
 
435
 
:*Field* `with` **inline** ``markup``: inline markup shouldn't be recognized.
436
 
 
437
 
: Field: marker must not begin with whitespace.
438
 
 
439
 
:Field : marker must not end with whitespace.
440
 
 
441
 
Field: marker is missing its open-colon.
442
 
 
443
 
:Field marker is missing its close-colon.
444
 
""",
445
 
"""\
446
 
<document>
447
 
    <paragraph>
448
 
        Some edge cases:
449
 
    <field_list>
450
 
        <field>
451
 
            <field_name>
452
 
                Empty
453
 
            <field_body>
454
 
        <field>
455
 
            <field_name>
456
 
                Author
457
 
            <field_body>
458
 
                <paragraph>
459
 
                    Me
460
 
    <system_message level="2" type="WARNING">
461
 
        <paragraph>
462
 
            Field list ends without a blank line; unexpected unindent at line 5.
463
 
    <paragraph>
464
 
        No blank line before this paragraph.
465
 
    <field_list>
466
 
        <field>
467
 
            <field_name>
468
 
                *Field*
469
 
            <field_argument>
470
 
                `with`
471
 
            <field_argument>
472
 
                **inline**
473
 
            <field_argument>
474
 
                ``markup``
475
 
            <field_body>
476
 
                <paragraph>
477
 
                    inline markup shouldn't be recognized.
478
 
    <paragraph>
479
 
        : Field: marker must not begin with whitespace.
480
 
    <paragraph>
481
 
        :Field : marker must not end with whitespace.
482
 
    <paragraph>
483
 
        Field: marker is missing its open-colon.
484
 
    <paragraph>
485
 
        :Field marker is missing its close-colon.
486
 
"""],
487
 
]
488
 
 
489
 
if __name__ == '__main__':
490
 
    import unittest
491
 
    unittest.main(defaultTest='suite')