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')
|