You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1309 lines
38 KiB
1309 lines
38 KiB
#! /usr/bin/env python |
|
|
|
# $Id: test_tables.py 7959 2016-07-28 21:56:00Z milde $ |
|
# Author: David Goodger <goodger@python.org> |
|
# Copyright: This module has been placed in the public domain. |
|
|
|
""" |
|
Tests for states.py. |
|
""" |
|
|
|
import os |
|
from __init__ import DocutilsTestSupport |
|
|
|
def suite(): |
|
s = DocutilsTestSupport.ParserTestSuite() |
|
s.generateTests(totest) |
|
return s |
|
|
|
mydir = 'test_parsers/test_rst/' |
|
include2 = os.path.join(mydir, 'test_directives/include2.txt') |
|
|
|
totest = {} |
|
|
|
totest['grid_tables'] = [ |
|
["""\ |
|
+-------------------------------------+ |
|
| A table with one cell and one line. | |
|
+-------------------------------------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="1"> |
|
<colspec colwidth="37"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table with one cell and one line. |
|
"""], |
|
["""\ |
|
+-----------------------+ |
|
| A table with one cell | |
|
| and two lines. | |
|
+-----------------------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="1"> |
|
<colspec colwidth="23"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table with one cell |
|
and two lines. |
|
"""], |
|
["""\ |
|
+-----------------------+ |
|
| A malformed table. | |
|
+-----------------------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<system_message level="3" line="1" source="test data" type="ERROR"> |
|
<paragraph> |
|
Malformed table. |
|
<literal_block xml:space="preserve"> |
|
+-----------------------+ |
|
| A malformed table. | |
|
+-----------------------+ |
|
"""], |
|
["""\ |
|
+------------------------+ |
|
| A well-formed | table. | |
|
+------------------------+ |
|
|
|
+------------------------+ |
|
| This +----------+ too! | |
|
+------------------------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="1"> |
|
<colspec colwidth="24"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A well-formed | table. |
|
<table> |
|
<tgroup cols="1"> |
|
<colspec colwidth="24"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
This +----------+ too! |
|
"""], |
|
["""\ |
|
+--------------+--------------+ |
|
| A table with | two columns. | |
|
+--------------+--------------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="14"> |
|
<colspec colwidth="14"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table with |
|
<entry> |
|
<paragraph> |
|
two columns. |
|
"""], |
|
["""\ |
|
+--------------+ |
|
| A table with | |
|
+--------------+ |
|
| two rows. | |
|
+--------------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="1"> |
|
<colspec colwidth="14"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table with |
|
<row> |
|
<entry> |
|
<paragraph> |
|
two rows. |
|
"""], |
|
["""\ |
|
+--------------+-------------+ |
|
| A table with | two columns | |
|
+--------------+-------------+ |
|
| and | two rows. | |
|
+--------------+-------------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="14"> |
|
<colspec colwidth="13"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table with |
|
<entry> |
|
<paragraph> |
|
two columns |
|
<row> |
|
<entry> |
|
<paragraph> |
|
and |
|
<entry> |
|
<paragraph> |
|
two rows. |
|
"""], |
|
["""\ |
|
+--------------+---------------+ |
|
| A table with | two columns, | |
|
+--------------+---------------+ |
|
| two rows, and a column span. | |
|
+------------------------------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="14"> |
|
<colspec colwidth="15"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table with |
|
<entry> |
|
<paragraph> |
|
two columns, |
|
<row> |
|
<entry morecols="1"> |
|
<paragraph> |
|
two rows, and a column span. |
|
"""], |
|
["""\ |
|
+--------------------------+ |
|
| A table with three rows, | |
|
+------------+-------------+ |
|
| and two | columns. | |
|
+------------+-------------+ |
|
| First and last rows | |
|
| contains column spans. | |
|
+--------------------------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="12"> |
|
<colspec colwidth="13"> |
|
<tbody> |
|
<row> |
|
<entry morecols="1"> |
|
<paragraph> |
|
A table with three rows, |
|
<row> |
|
<entry> |
|
<paragraph> |
|
and two |
|
<entry> |
|
<paragraph> |
|
columns. |
|
<row> |
|
<entry morecols="1"> |
|
<paragraph> |
|
First and last rows |
|
contains column spans. |
|
"""], |
|
["""\ |
|
+--------------+--------------+ |
|
| A table with | two columns, | |
|
+--------------+ and a row | |
|
| two rows, | span. | |
|
+--------------+--------------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="14"> |
|
<colspec colwidth="14"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table with |
|
<entry morerows="1"> |
|
<paragraph> |
|
two columns, |
|
and a row |
|
span. |
|
<row> |
|
<entry> |
|
<paragraph> |
|
two rows, |
|
"""], |
|
["""\ |
|
+------------+-------------+---------------+ |
|
| A table | two rows in | and row spans | |
|
| with three +-------------+ to left and | |
|
| columns, | the middle, | right. | |
|
+------------+-------------+---------------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="3"> |
|
<colspec colwidth="12"> |
|
<colspec colwidth="13"> |
|
<colspec colwidth="15"> |
|
<tbody> |
|
<row> |
|
<entry morerows="1"> |
|
<paragraph> |
|
A table |
|
with three |
|
columns, |
|
<entry> |
|
<paragraph> |
|
two rows in |
|
<entry morerows="1"> |
|
<paragraph> |
|
and row spans |
|
to left and |
|
right. |
|
<row> |
|
<entry> |
|
<paragraph> |
|
the middle, |
|
"""], |
|
["""\ |
|
Complex spanning pattern (no edge knows all rows/cols): |
|
|
|
+-----------+-------------------------+ |
|
| W/NW cell | N/NE cell | |
|
| +-------------+-----------+ |
|
| | Middle cell | E/SE cell | |
|
+-----------+-------------+ | |
|
| S/SE cell | | |
|
+-------------------------+-----------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<paragraph> |
|
Complex spanning pattern (no edge knows all rows/cols): |
|
<table> |
|
<tgroup cols="3"> |
|
<colspec colwidth="11"> |
|
<colspec colwidth="13"> |
|
<colspec colwidth="11"> |
|
<tbody> |
|
<row> |
|
<entry morerows="1"> |
|
<paragraph> |
|
W/NW cell |
|
<entry morecols="1"> |
|
<paragraph> |
|
N/NE cell |
|
<row> |
|
<entry> |
|
<paragraph> |
|
Middle cell |
|
<entry morerows="1"> |
|
<paragraph> |
|
E/SE cell |
|
<row> |
|
<entry morecols="1"> |
|
<paragraph> |
|
S/SE cell |
|
"""], |
|
["""\ |
|
+------------------------+------------+----------+----------+ |
|
| Header row, column 1 | Header 2 | Header 3 | Header 4 | |
|
+========================+============+==========+==========+ |
|
| body row 1, column 1 | column 2 | column 3 | column 4 | |
|
+------------------------+------------+----------+----------+ |
|
| body row 2 | Cells may span columns. | |
|
+------------------------+------------+---------------------+ |
|
| body row 3 | Cells may | - Table cells | |
|
+------------------------+ span rows. | - contain | |
|
| body row 4 | | - body elements. | |
|
+------------------------+------------+---------------------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="4"> |
|
<colspec colwidth="24"> |
|
<colspec colwidth="12"> |
|
<colspec colwidth="10"> |
|
<colspec colwidth="10"> |
|
<thead> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
Header row, column 1 |
|
<entry> |
|
<paragraph> |
|
Header 2 |
|
<entry> |
|
<paragraph> |
|
Header 3 |
|
<entry> |
|
<paragraph> |
|
Header 4 |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
body row 1, column 1 |
|
<entry> |
|
<paragraph> |
|
column 2 |
|
<entry> |
|
<paragraph> |
|
column 3 |
|
<entry> |
|
<paragraph> |
|
column 4 |
|
<row> |
|
<entry> |
|
<paragraph> |
|
body row 2 |
|
<entry morecols="2"> |
|
<paragraph> |
|
Cells may span columns. |
|
<row> |
|
<entry> |
|
<paragraph> |
|
body row 3 |
|
<entry morerows="1"> |
|
<paragraph> |
|
Cells may |
|
span rows. |
|
<entry morecols="1" morerows="1"> |
|
<bullet_list bullet="-"> |
|
<list_item> |
|
<paragraph> |
|
Table cells |
|
<list_item> |
|
<paragraph> |
|
contain |
|
<list_item> |
|
<paragraph> |
|
body elements. |
|
<row> |
|
<entry> |
|
<paragraph> |
|
body row 4 |
|
"""], |
|
["""\ |
|
+-----------------+--------+ |
|
| A simple table | cell 2 | |
|
+-----------------+--------+ |
|
| cell 3 | cell 4 | |
|
+-----------------+--------+ |
|
No blank line after table. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="17"> |
|
<colspec colwidth="8"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A simple table |
|
<entry> |
|
<paragraph> |
|
cell 2 |
|
<row> |
|
<entry> |
|
<paragraph> |
|
cell 3 |
|
<entry> |
|
<paragraph> |
|
cell 4 |
|
<system_message level="2" line="6" source="test data" type="WARNING"> |
|
<paragraph> |
|
Blank line required after table. |
|
<paragraph> |
|
No blank line after table. |
|
"""], |
|
["""\ |
|
+-----------------+--------+ |
|
| A simple table | cell 2 | |
|
+-----------------+--------+ |
|
| cell 3 | cell 4 | |
|
+-----------------+--------+ |
|
Unexpected indent and no blank line after table. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="17"> |
|
<colspec colwidth="8"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A simple table |
|
<entry> |
|
<paragraph> |
|
cell 2 |
|
<row> |
|
<entry> |
|
<paragraph> |
|
cell 3 |
|
<entry> |
|
<paragraph> |
|
cell 4 |
|
<system_message level="3" line="6" source="test data" type="ERROR"> |
|
<paragraph> |
|
Unexpected indentation. |
|
<system_message level="2" line="6" source="test data" type="WARNING"> |
|
<paragraph> |
|
Blank line required after table. |
|
<block_quote> |
|
<paragraph> |
|
Unexpected indent and no blank line after table. |
|
"""], |
|
["""\ |
|
+--------------+-------------+ |
|
| A bad table. | | |
|
+--------------+ | |
|
| Cells must be rectangles. | |
|
+----------------------------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<system_message level="3" line="1" source="test data" type="ERROR"> |
|
<paragraph> |
|
Malformed table. |
|
Malformed table; parse incomplete. |
|
<literal_block xml:space="preserve"> |
|
+--------------+-------------+ |
|
| A bad table. | | |
|
+--------------+ | |
|
| Cells must be rectangles. | |
|
+----------------------------+ |
|
"""], |
|
["""\ |
|
+------------------------------+ |
|
| This table contains another. | |
|
| | |
|
| +-------------------------+ | |
|
| | A table within a table. | | |
|
| +-------------------------+ | |
|
+------------------------------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="1"> |
|
<colspec colwidth="30"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
This table contains another. |
|
<table> |
|
<tgroup cols="1"> |
|
<colspec colwidth="25"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table within a table. |
|
"""], |
|
["""\ |
|
+------------------+--------+ |
|
| A simple table | | |
|
+------------------+--------+ |
|
| with empty cells | | |
|
+------------------+--------+ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="18"> |
|
<colspec colwidth="8"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A simple table |
|
<entry> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
with empty cells |
|
<entry> |
|
"""], |
|
[("""\ |
|
+------------------------------------------------------------------------------+ |
|
| .. include:: | |
|
%s |
|
+------------------------------------------------------------------------------+ |
|
| (The first cell of this table may expand | |
|
| to accommodate long filesystem paths.) | |
|
+------------------------------------------------------------------------------+ |
|
""") % ('\n'.join(['| %-70s |' % include2[part * 70 : (part + 1) * 70] |
|
for part in range(len(include2) // 70 + 1)])), |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="1"> |
|
<colspec colwidth="78"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
Here are some paragraphs |
|
that can appear at any level. |
|
<paragraph> |
|
This file (include2.txt) is used by |
|
<literal> |
|
test_include.py |
|
. |
|
<row> |
|
<entry> |
|
<paragraph> |
|
(The first cell of this table may expand |
|
to accommodate long filesystem paths.) |
|
"""], |
|
[("""\ |
|
Something before. |
|
|
|
+------------------------------------------------------------------------------+ |
|
| .. include:: | |
|
%s |
|
+------------------------------------------------------------------------------+ |
|
|
|
Something afterwards. |
|
|
|
And more. |
|
""") % ('\n'.join(['| %-70s |' % include2[part * 70 : (part + 1) * 70] |
|
for part in range(len(include2) // 70 + 1)])), |
|
"""\ |
|
<document source="test data"> |
|
<paragraph> |
|
Something before. |
|
<table> |
|
<tgroup cols="1"> |
|
<colspec colwidth="78"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
Here are some paragraphs |
|
that can appear at any level. |
|
<paragraph> |
|
This file (include2.txt) is used by |
|
<literal> |
|
test_include.py |
|
. |
|
<paragraph> |
|
Something afterwards. |
|
<paragraph> |
|
And more. |
|
"""], |
|
] |
|
|
|
totest['simple_tables'] = [ |
|
["""\ |
|
============ ============ |
|
A table with two columns. |
|
============ ============ |
|
|
|
Paragraph. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="12"> |
|
<colspec colwidth="12"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table with |
|
<entry> |
|
<paragraph> |
|
two columns. |
|
<paragraph> |
|
Paragraph. |
|
"""], |
|
["""\ |
|
============ ============ |
|
A table with two columns |
|
and two rows. |
|
============ ============ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="12"> |
|
<colspec colwidth="12"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table with |
|
<entry> |
|
<paragraph> |
|
two columns |
|
<row> |
|
<entry> |
|
<paragraph> |
|
and |
|
<entry> |
|
<paragraph> |
|
two rows. |
|
"""], |
|
["""\ |
|
============ ============== |
|
A table with two columns, |
|
two rows, and a column span. |
|
============================ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="12"> |
|
<colspec colwidth="14"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table with |
|
<entry> |
|
<paragraph> |
|
two columns, |
|
<row> |
|
<entry morecols="1"> |
|
<paragraph> |
|
two rows, and a column span. |
|
"""], |
|
["""\ |
|
== =========== =========== |
|
1 A table with three rows, |
|
-- ------------------------ |
|
2 and three columns. |
|
3 First and third rows |
|
contain column spans. |
|
|
|
This row is a multi-line row, and overflows to the right. |
|
-- ------------------------ |
|
4 One last row. |
|
== =========== =========== |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="3"> |
|
<colspec colwidth="2"> |
|
<colspec colwidth="11"> |
|
<colspec colwidth="44"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
1 |
|
<entry morecols="1"> |
|
<paragraph> |
|
A table with three rows, |
|
<row> |
|
<entry> |
|
<paragraph> |
|
2 |
|
<entry> |
|
<paragraph> |
|
and three |
|
<entry> |
|
<paragraph> |
|
columns. |
|
<row> |
|
<entry> |
|
<paragraph> |
|
3 |
|
<entry morecols="1"> |
|
<paragraph> |
|
First and third rows |
|
contain column spans. |
|
<paragraph> |
|
This row is a multi-line row, and overflows to the right. |
|
<row> |
|
<entry> |
|
<paragraph> |
|
4 |
|
<entry> |
|
<paragraph> |
|
One last |
|
<entry> |
|
<paragraph> |
|
row. |
|
"""], |
|
["""\ |
|
======= ========= ======== |
|
A table with three columns. |
|
================== ======== |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="3"> |
|
<colspec colwidth="7"> |
|
<colspec colwidth="9"> |
|
<colspec colwidth="8"> |
|
<tbody> |
|
<row> |
|
<entry morecols="1"> |
|
<paragraph> |
|
A table with three |
|
<entry> |
|
<paragraph> |
|
columns. |
|
"""], |
|
["""\ |
|
============== ====== |
|
A simple table this text extends to the right |
|
cell 3 as does this text |
|
============== ====== |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="14"> |
|
<colspec colwidth="30"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A simple table |
|
<entry> |
|
<paragraph> |
|
this text extends to the right |
|
<row> |
|
<entry> |
|
<paragraph> |
|
cell 3 |
|
<entry> |
|
<paragraph> |
|
as does this text |
|
"""], |
|
["""\ |
|
============== ====== |
|
A simple table this text extends to the right |
|
continuation of cell 2 |
|
============== ====== |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="14"> |
|
<colspec colwidth="30"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A simple table |
|
<entry> |
|
<paragraph> |
|
this text extends to the right |
|
continuation of cell 2 |
|
"""], |
|
["""\ |
|
============== ====== |
|
A simple table with |
|
no bottom border |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<system_message level="3" line="1" source="test data" type="ERROR"> |
|
<paragraph> |
|
Malformed table. |
|
No bottom table border found. |
|
<literal_block xml:space="preserve"> |
|
============== ====== |
|
A simple table with |
|
no bottom border |
|
"""], |
|
["""\ |
|
============== ====== |
|
A simple table cell 2 |
|
cell 3 cell 4 |
|
============== ====== |
|
No blank line after table. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<system_message level="3" line="1" source="test data" type="ERROR"> |
|
<paragraph> |
|
Malformed table. |
|
No bottom table border found or no blank line after table bottom. |
|
<literal_block xml:space="preserve"> |
|
============== ====== |
|
A simple table cell 2 |
|
cell 3 cell 4 |
|
============== ====== |
|
<system_message level="2" line="5" source="test data" type="WARNING"> |
|
<paragraph> |
|
Blank line required after table. |
|
<paragraph> |
|
No blank line after table. |
|
"""], |
|
["""\ |
|
============== ====== |
|
A simple table cell 2 |
|
============== ====== |
|
cell 3 cell 4 |
|
============== ====== |
|
No blank line after table. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="14"> |
|
<colspec colwidth="6"> |
|
<thead> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A simple table |
|
<entry> |
|
<paragraph> |
|
cell 2 |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
cell 3 |
|
<entry> |
|
<paragraph> |
|
cell 4 |
|
<system_message level="2" line="6" source="test data" type="WARNING"> |
|
<paragraph> |
|
Blank line required after table. |
|
<paragraph> |
|
No blank line after table. |
|
"""], |
|
["""\ |
|
============== ====== |
|
A simple table cell 2 |
|
cell 3 cell 4 |
|
============== ====== |
|
Unexpected indent and no blank line after table. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<system_message level="3" line="1" source="test data" type="ERROR"> |
|
<paragraph> |
|
Malformed table. |
|
No bottom table border found or no blank line after table bottom. |
|
<literal_block xml:space="preserve"> |
|
============== ====== |
|
A simple table cell 2 |
|
cell 3 cell 4 |
|
============== ====== |
|
<system_message level="2" line="5" source="test data" type="WARNING"> |
|
<paragraph> |
|
Blank line required after table. |
|
<block_quote> |
|
<paragraph> |
|
Unexpected indent and no blank line after table. |
|
"""], |
|
["""\ |
|
============== ====== |
|
A bad table cell 2 |
|
cell 3 cell 4 |
|
============ ======== |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<system_message level="3" line="4" source="test data" type="ERROR"> |
|
<paragraph> |
|
Malformed table. |
|
Column span alignment problem in table line 4. |
|
<literal_block xml:space="preserve"> |
|
============== ====== |
|
A bad table cell 2 |
|
cell 3 cell 4 |
|
============ ======== |
|
"""], |
|
["""\ |
|
======== ========= |
|
A bad table cell 2 |
|
cell 3 cell 4 |
|
======== ========= |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<system_message level="3" line="2" source="test data" type="ERROR"> |
|
<paragraph> |
|
Malformed table. |
|
Text in column margin in table line 2. |
|
<literal_block xml:space="preserve"> |
|
======== ========= |
|
A bad table cell 2 |
|
cell 3 cell 4 |
|
======== ========= |
|
"""], |
|
["""\ |
|
== ============================ |
|
1 This table contains another. |
|
2 ======= ====== ======== |
|
A table within a table. |
|
======= ====== ======== |
|
|
|
The outer table does have to |
|
have at least two columns |
|
though. |
|
== ============================ |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="2"> |
|
<colspec colwidth="28"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
1 |
|
<entry> |
|
<paragraph> |
|
This table contains another. |
|
<row> |
|
<entry> |
|
<paragraph> |
|
2 |
|
<entry> |
|
<table> |
|
<tgroup cols="3"> |
|
<colspec colwidth="7"> |
|
<colspec colwidth="6"> |
|
<colspec colwidth="8"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table |
|
<entry> |
|
<paragraph> |
|
within |
|
<entry> |
|
<paragraph> |
|
a table. |
|
<paragraph> |
|
The outer table does have to |
|
have at least two columns |
|
though. |
|
"""], |
|
["""\ |
|
================ ====== |
|
A simple table |
|
with empty cells |
|
================ ====== |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="16"> |
|
<colspec colwidth="6"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A simple table |
|
<entry> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
with empty cells |
|
<entry> |
|
"""], |
|
["""\ |
|
============== ======== |
|
A table with |
|
============== ======== |
|
centered cells. |
|
|
|
============== ======== |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="14"> |
|
<colspec colwidth="8"> |
|
<thead> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table |
|
<entry> |
|
<paragraph> |
|
with |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
centered |
|
<entry> |
|
<paragraph> |
|
cells. |
|
"""], |
|
["""\ |
|
============== ====== |
|
A simple table this text extends to the right |
|
cell 3 the bottom border below is too long |
|
============== ======== |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<system_message level="3" line="1" source="test data" type="ERROR"> |
|
<paragraph> |
|
Malformed table. |
|
Bottom/header table border does not match top border. |
|
<literal_block xml:space="preserve"> |
|
============== ====== |
|
A simple table this text extends to the right |
|
cell 3 the bottom border below is too long |
|
============== ======== |
|
"""], |
|
["""\ |
|
============ ================= |
|
A table with row separators. |
|
------------ ----------------- |
|
|
|
Blank line before. |
|
------------ ----------------- |
|
|
|
Blank lines before and after. |
|
|
|
------------ ----------------- |
|
Blank line after. |
|
|
|
============ ================= |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="12"> |
|
<colspec colwidth="17"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table with |
|
<entry> |
|
<paragraph> |
|
row separators. |
|
<row> |
|
<entry> |
|
<paragraph> |
|
Blank line |
|
<entry> |
|
<paragraph> |
|
before. |
|
<row> |
|
<entry> |
|
<paragraph> |
|
Blank lines |
|
<entry> |
|
<paragraph> |
|
before and after. |
|
<row> |
|
<entry> |
|
<paragraph> |
|
Blank line |
|
<entry> |
|
<paragraph> |
|
after. |
|
"""], |
|
["""\ |
|
============ ==================== |
|
A table with many row separators. |
|
------------ -------------------- |
|
------------ -------------------- |
|
|
|
------------ -------------------- |
|
============ ==================== |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="12"> |
|
<colspec colwidth="20"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
A table with |
|
<entry> |
|
<paragraph> |
|
many row separators. |
|
<row> |
|
<entry> |
|
<entry> |
|
<row> |
|
<entry> |
|
<entry> |
|
<row> |
|
<entry> |
|
<entry> |
|
"""], |
|
["""\ |
|
== =========== =========== |
|
1 Span columns 2 & 3 |
|
-- ------------------------ |
|
2 Span columns 2 & 3 |
|
------------------------ |
|
3 |
|
== =========== =========== |
|
|
|
== =========== =========== |
|
1 Span cols 1&2 but not 3 |
|
--------------- ----------- |
|
2 Span cols 1&2 but not 3 |
|
--------------- |
|
3 no spans here |
|
== =========== =========== |
|
|
|
== =========== =========== |
|
1 Not a span Not a span |
|
----------- ----------- |
|
2 |
|
== =========== =========== |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<system_message level="3" line="4" source="test data" type="ERROR"> |
|
<paragraph> |
|
Malformed table. |
|
Text in column margin in table line 4. |
|
<literal_block xml:space="preserve"> |
|
== =========== =========== |
|
1 Span columns 2 & 3 |
|
-- ------------------------ |
|
2 Span columns 2 & 3 |
|
------------------------ |
|
3 |
|
== =========== =========== |
|
<system_message level="3" line="13" source="test data" type="ERROR"> |
|
<paragraph> |
|
Malformed table. |
|
Column span incomplete in table line 5. |
|
<literal_block xml:space="preserve"> |
|
== =========== =========== |
|
1 Span cols 1&2 but not 3 |
|
--------------- ----------- |
|
2 Span cols 1&2 but not 3 |
|
--------------- |
|
3 no spans here |
|
== =========== =========== |
|
<table> |
|
<tgroup cols="3"> |
|
<colspec colwidth="2"> |
|
<colspec colwidth="11"> |
|
<colspec colwidth="11"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
1 |
|
<entry> |
|
<system_message level="4" line="19" source="test data" type="SEVERE"> |
|
<paragraph> |
|
Unexpected section title. |
|
<literal_block xml:space="preserve"> |
|
Not a span |
|
----------- |
|
<entry> |
|
<system_message level="4" line="19" source="test data" type="SEVERE"> |
|
<paragraph> |
|
Unexpected section title. |
|
<literal_block xml:space="preserve"> |
|
Not a span |
|
----------- |
|
<row> |
|
<entry> |
|
<paragraph> |
|
2 |
|
<entry> |
|
<entry> |
|
"""], |
|
["""\ |
|
========= ===================================================================== |
|
Inclusion .. include:: |
|
%s |
|
Note The first row of this table may expand |
|
to accommodate long filesystem paths. |
|
========= ===================================================================== |
|
""" % ('\n'.join([' %-65s' % include2[part * 65 : (part + 1) * 65] |
|
for part in range(len(include2) // 65 + 1)])), |
|
"""\ |
|
<document source="test data"> |
|
<table> |
|
<tgroup cols="2"> |
|
<colspec colwidth="9"> |
|
<colspec colwidth="69"> |
|
<tbody> |
|
<row> |
|
<entry> |
|
<paragraph> |
|
Inclusion |
|
<entry> |
|
<paragraph> |
|
Here are some paragraphs |
|
that can appear at any level. |
|
<paragraph> |
|
This file (include2.txt) is used by |
|
<literal> |
|
test_include.py |
|
. |
|
<row> |
|
<entry> |
|
<paragraph> |
|
Note |
|
<entry> |
|
<paragraph> |
|
The first row of this table may expand |
|
to accommodate long filesystem paths. |
|
"""], |
|
] |
|
|
|
|
|
if __name__ == '__main__': |
|
import unittest |
|
unittest.main(defaultTest='suite')
|
|
|