summaryrefslogtreecommitdiff
path: root/test/test_parsers/test_rst/test_literal_blocks.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_parsers/test_rst/test_literal_blocks.py')
-rwxr-xr-xtest/test_parsers/test_rst/test_literal_blocks.py371
1 files changed, 371 insertions, 0 deletions
diff --git a/test/test_parsers/test_rst/test_literal_blocks.py b/test/test_parsers/test_rst/test_literal_blocks.py
new file mode 100755
index 000000000..332e0eb27
--- /dev/null
+++ b/test/test_parsers/test_rst/test_literal_blocks.py
@@ -0,0 +1,371 @@
+#! /usr/bin/env python
+
+# Author: David Goodger
+# Contact: goodger@users.sourceforge.net
+# Revision: $Revision$
+# Date: $Date$
+# Copyright: This module has been placed in the public domain.
+
+"""
+Tests for states.py.
+"""
+
+from __init__ import DocutilsTestSupport
+
+def suite():
+ s = DocutilsTestSupport.ParserTestSuite()
+ s.generateTests(totest)
+ return s
+
+totest = {}
+
+totest['indented_literal_blocks'] = [
+["""\
+A paragraph::
+
+ A literal block.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph:
+ <literal_block xml:space="preserve">
+ A literal block.
+"""],
+["""\
+A paragraph with a space after the colons:: \n\
+
+ A literal block.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph with a space after the colons:
+ <literal_block xml:space="preserve">
+ A literal block.
+"""],
+["""\
+A paragraph::
+
+ A literal block.
+
+Another paragraph::
+
+ Another literal block.
+ With two blank lines following.
+
+
+A final paragraph.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph:
+ <literal_block xml:space="preserve">
+ A literal block.
+ <paragraph>
+ Another paragraph:
+ <literal_block xml:space="preserve">
+ Another literal block.
+ With two blank lines following.
+ <paragraph>
+ A final paragraph.
+"""],
+["""\
+A paragraph
+on more than
+one line::
+
+ A literal block.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph
+ on more than
+ one line:
+ <literal_block xml:space="preserve">
+ A literal block.
+"""],
+["""\
+A paragraph
+on more than
+one line::
+ A literal block
+ with no blank line above.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph
+ on more than
+ one line:
+ <system_message level="3" line="4" source="test data" type="ERROR">
+ <paragraph>
+ Unexpected indentation.
+ <literal_block xml:space="preserve">
+ A literal block
+ with no blank line above.
+"""],
+["""\
+A paragraph::
+
+ A literal block.
+no blank line
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph:
+ <literal_block xml:space="preserve">
+ A literal block.
+ <system_message level="2" line="4" source="test data" type="WARNING">
+ <paragraph>
+ Literal block ends without a blank line; unexpected unindent.
+ <paragraph>
+ no blank line
+"""],
+[r"""
+A paragraph\\::
+
+ A literal block.
+
+A paragraph\::
+
+ Not a literal block.
+""",
+r"""<document source="test data">
+ <paragraph>
+ A paragraph\:
+ <literal_block xml:space="preserve">
+ A literal block.
+ <paragraph>
+ A paragraph::
+ <block_quote>
+ <paragraph>
+ Not a literal block.
+"""],
+[r"""
+\\::
+
+ A literal block.
+
+\::
+
+ Not a literal block.
+""",
+r"""<document source="test data">
+ <paragraph>
+ \:
+ <literal_block xml:space="preserve">
+ A literal block.
+ <paragraph>
+ ::
+ <block_quote>
+ <paragraph>
+ Not a literal block.
+"""],
+["""\
+A paragraph: ::
+
+ A literal block.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph:
+ <literal_block xml:space="preserve">
+ A literal block.
+"""],
+["""\
+A paragraph:
+
+::
+
+ A literal block.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph:
+ <literal_block xml:space="preserve">
+ A literal block.
+"""],
+["""\
+A paragraph:
+::
+
+ A literal block.
+""",
+"""\
+<document source="test data">
+ <system_message level="1" line="2" source="test data" type="INFO">
+ <paragraph>
+ Possible title underline, too short for the title.
+ Treating it as ordinary text because it's so short.
+ <paragraph>
+ A paragraph:
+ <literal_block xml:space="preserve">
+ A literal block.
+"""],
+["""\
+A paragraph:
+
+::
+
+ A literal block.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph:
+ <literal_block xml:space="preserve">
+ A literal block.
+"""],
+["""\
+A paragraph::
+
+Not a literal block.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph:
+ <system_message level="2" line="3" source="test data" type="WARNING">
+ <paragraph>
+ Literal block expected; none found.
+ <paragraph>
+ Not a literal block.
+"""],
+["""\
+A paragraph::
+
+ A wonky literal block.
+ Literal line 2.
+
+ Literal line 3.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph:
+ <literal_block xml:space="preserve">
+ A wonky literal block.
+ Literal line 2.
+ \n\
+ Literal line 3.
+"""],
+["""\
+EOF, even though a literal block is indicated::
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ EOF, even though a literal block is indicated:
+ <system_message level="2" line="2" source="test data" type="WARNING">
+ <paragraph>
+ Literal block expected; none found.
+"""],
+]
+
+totest['quoted_literal_blocks'] = [
+["""\
+A paragraph::
+
+> A literal block.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph:
+ <literal_block xml:space="preserve">
+ > A literal block.
+"""],
+["""\
+A paragraph::
+
+
+> A literal block.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph:
+ <literal_block xml:space="preserve">
+ > A literal block.
+"""],
+["""\
+A paragraph::
+
+> A literal block.
+> Line 2.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph:
+ <literal_block xml:space="preserve">
+ > A literal block.
+ > Line 2.
+"""],
+["""\
+A paragraph::
+
+> A literal block.
+ Indented line.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph:
+ <literal_block xml:space="preserve">
+ > A literal block.
+ <system_message level="3" line="4" source="test data" type="ERROR">
+ <paragraph>
+ Unexpected indentation.
+ <block_quote>
+ <paragraph>
+ Indented line.
+"""],
+["""\
+A paragraph::
+
+> A literal block.
+Text.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph:
+ <literal_block xml:space="preserve">
+ > A literal block.
+ <system_message level="3" line="4" source="test data" type="ERROR">
+ <paragraph>
+ Inconsistent literal block quoting.
+ <paragraph>
+ Text.
+"""],
+["""\
+A paragraph::
+
+> A literal block.
+$ Inconsistent line.
+""",
+"""\
+<document source="test data">
+ <paragraph>
+ A paragraph:
+ <literal_block xml:space="preserve">
+ > A literal block.
+ <system_message level="3" line="4" source="test data" type="ERROR">
+ <paragraph>
+ Inconsistent literal block quoting.
+ <paragraph>
+ $ Inconsistent line.
+"""],
+]
+
+
+if __name__ == '__main__':
+ import unittest
+ unittest.main(defaultTest='suite')