File: test_SimpleTableParser.py

package info (click to toggle)
python-docutils 0.3.7-2sarge1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 3,872 kB
  • ctags: 2,908
  • sloc: python: 27,538; lisp: 641; makefile: 102
file content (101 lines) | stat: -rw-r--r-- 2,294 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/usr/bin/python

"""
:Author: David Goodger
:Contact: goodger@users.sourceforge.net
:Revision: $Revision: 1.1 $
:Date: $Date: 2002/07/18 01:39:17 $
:Copyright: This module has been placed in the public domain.

Tests for states.py.
"""

from __init__ import DocutilsTestSupport

def suite():
    s = DocutilsTestSupport.SimpleTableParserTestSuite()
    s.generateTests(totest)
    return s

totest = {}

totest['simple_tables'] = [
["""\
============  ============
A table with  two columns.
============  ============
""",
([12, 12],
 [],
 [[(0, 0, 1, ['A table with']),
   (0, 0, 1, ['two columns.'])]])],
["""\
============  ============
A table with  two columns
and           two rows.
============  ============
""",
([12, 12],
 [],
 [[(0, 0, 1, ['A table with']),
   (0, 0, 1, ['two columns'])],
  [(0, 0, 2, ['and']),
   (0, 0, 2, ['two rows.'])]])],
["""\
==========  ===========
A table with four rows,
-----------------------
and two     columns.   
First and   last rows     
contain column spans.   
=======================
""",
([10, 11],
 [],
 [[(0, 1, 1, ['A table with four rows,'])],
  [(0, 0, 3, ['and two']),
   (0, 0, 3, ['columns.'])],
  [(0, 0, 4, ['First and']),
   (0, 0, 4, ['last rows'])],
  [(0, 1, 5, ['contain column spans.'])]])],
["""\
=======  =====  ======
A bad table     cell 2
cell 3          cell 4
============  ======
""",
'TableMarkupError: Text in column margin at line offset 1.'],
["""\
===========  ================
A table with two header rows,
-----------------------------
the first    with a span.    
===========  ================
Two body     rows,           
the second with a span.      
=============================
""",
([11, 16],
 [[(0, 1, 1, ['A table with two header rows,'])],
  [(0, 0, 3, ['the first']),
   (0, 0, 3, ['with a span.'])]],
 [[(0, 0, 5, ['Two body']),
   (0, 0, 5, ['rows,'])],
  [(0, 1, 6, ['the second with a span.'])]])],
["""\
============  =============
A table with  two head/body
============  =============
row           separators.
============  =============
That's bad.
============  =============
""",
'TableMarkupError: Multiple head/body row separators in table '
'(at line offset 2 and 4); only one allowed.'],
]


if __name__ == '__main__':
    import unittest
    unittest.main(defaultTest='suite')