#! /usr/bin/env python
# Author: David Goodger
# Contact: goodger@python.org
# Revision: $Revision: 2728 $
# Date: $Date: 2004-10-20 01:42:18 +0200 (Wed, 20 Oct 2004) $
# Copyright: This module has been placed in the public domain.
"""
Tests for the 'compound' directive from body.py.
"""
from __init__ import DocutilsTestSupport
def suite():
s = DocutilsTestSupport.ParserTestSuite()
s.generateTests(totest)
return s
totest = {}
totest['compound'] = [
["""\
.. compound::
Compound paragraphs are single logical paragraphs
which contain embedded
* lists
* tables
* literal blocks
* and other body elements
and are split into multiple physical paragraphs.
""",
"""\
<document source="test data">
<compound>
<paragraph>
Compound paragraphs are single logical paragraphs
which contain embedded
<bullet_list bullet="*">
<list_item>
<paragraph>
lists
<list_item>
<paragraph>
tables
<list_item>
<paragraph>
literal blocks
<list_item>
<paragraph>
and other body elements
<paragraph>
and are split into multiple physical paragraphs.
"""],
["""\
.. compound::
This is an extremely interesting compound paragraph containing a
simple paragraph, a literal block with some useless log messages::
Connecting... OK
Transmitting data... OK
Disconnecting... OK
and another simple paragraph which is actually just a continuation
of the first simple paragraph, with the literal block in between.
""",
"""\
<document source="test data">
<compound>
<paragraph>
This is an extremely interesting compound paragraph containing a
simple paragraph, a literal block with some useless log messages:
<literal_block xml:space="preserve">
Connecting... OK
Transmitting data... OK
Disconnecting... OK
<paragraph>
and another simple paragraph which is actually just a continuation
of the first simple paragraph, with the literal block in between.
"""],
["""\
.. compound:: arg1 arg2
text
""",
"""\
<document source="test data">
<system_message level="3" line="1" source="test data" type="ERROR">
<paragraph>
Error in "compound" directive:
no arguments permitted; blank line required before content block.
<literal_block xml:space="preserve">
.. compound:: arg1 arg2
\n\
text
"""],
]
if __name__ == '__main__':
import unittest
unittest.main(defaultTest='suite')