Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
build.test.test_parsers.test_rst.test_SimpleTableParser.py Maven / Gradle / Ivy
#! /usr/bin/env python
# $Id: test_SimpleTableParser.py 7074 2011-07-07 06:54:37Z milde $
# Author: David Goodger
# 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.']]]])],
["""\
======================================
The last row might stick into the margin
second row.
======================================
""",
([40],
[],
[[[0, 0, 1, ['The last row might stick into the margin']]],
[[0, 0, 2, ['second row.']]]])],
["""\
========== ===========
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.'],
["""\
====== ===== ======
row one
Another bad table
====== ===== ======
""",
'TableMarkupError: Text in column margin at line offset 2.'],
["""\
=========== ================
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.'],
["""\
============ ============
============ ============
""",
([12, 12],
[],
[[[0, 0, 1, []],
[0, 0, 1, []]]])],
# ["""\
# ============== ==========
# Table with row separators
# ============== ==========
# and blank
# -------------- ----------
# entries
# -------------- ----------
# in first
# -------------- ----------
# columns.
# ============== ==========
# """,
# '']
]
if __name__ == '__main__':
import unittest
unittest.main(defaultTest='suite')