diff options
Diffstat (limited to 'test/test_readers/test_pep')
-rw-r--r-- | test/test_readers/test_pep/__init__.py | 14 | ||||
-rwxr-xr-x | test/test_readers/test_pep/test_inline_markup.py | 140 | ||||
-rwxr-xr-x | test/test_readers/test_pep/test_rfc2822.py | 291 |
3 files changed, 445 insertions, 0 deletions
diff --git a/test/test_readers/test_pep/__init__.py b/test/test_readers/test_pep/__init__.py new file mode 100644 index 000000000..46fc50e06 --- /dev/null +++ b/test/test_readers/test_pep/__init__.py @@ -0,0 +1,14 @@ +import os +import os.path +import sys + +sys.path.insert(0, os.path.abspath(os.path.dirname(__file__))) +prev = '' +while sys.path[0] != prev: + try: + import DocutilsTestSupport + break + except ImportError: + prev = sys.path[0] + sys.path[0] = os.path.dirname(prev) +sys.path.pop(0) diff --git a/test/test_readers/test_pep/test_inline_markup.py b/test/test_readers/test_pep/test_inline_markup.py new file mode 100755 index 000000000..4965af3d1 --- /dev/null +++ b/test/test_readers/test_pep/test_inline_markup.py @@ -0,0 +1,140 @@ +#! /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 inline markup in PEPs (readers/pep.py). +""" + +from __init__ import DocutilsTestSupport + + +def suite(): + s = DocutilsTestSupport.PEPParserTestSuite() + s.generateTests(totest) + return s + + +totest = {} + +totest['standalone_references'] = [ +["""\ +See PEP 287 (pep-0287.txt), +and RFC 2822 (which obsoletes RFC822 and RFC-733). +""", +"""\ +<document source="test data"> + <paragraph> + See \n\ + <reference refuri="http://www.python.org/peps/pep-0287.html"> + PEP 287 + ( + <reference refuri="http://www.python.org/peps/pep-0287.html"> + pep-0287.txt + ), + and \n\ + <reference refuri="http://www.faqs.org/rfcs/rfc2822.html"> + RFC 2822 + (which obsoletes \n\ + <reference refuri="http://www.faqs.org/rfcs/rfc822.html"> + RFC822 + and \n\ + <reference refuri="http://www.faqs.org/rfcs/rfc733.html"> + RFC-733 + ). +"""], +["""\ +References split across lines: + +PEP +287 + +RFC +2822 +""", +"""\ +<document source="test data"> + <paragraph> + References split across lines: + <paragraph> + <reference refuri="http://www.python.org/peps/pep-0287.html"> + PEP + 287 + <paragraph> + <reference refuri="http://www.faqs.org/rfcs/rfc2822.html"> + RFC + 2822 +"""], +["""\ +Test PEP-specific implicit references before a URL: + +PEP 287 (http://www.python.org/peps/pep-0287.html), RFC 2822. +""", +"""\ +<document source="test data"> + <paragraph> + Test PEP-specific implicit references before a URL: + <paragraph> + <reference refuri="http://www.python.org/peps/pep-0287.html"> + PEP 287 + ( + <reference refuri="http://www.python.org/peps/pep-0287.html"> + http://www.python.org/peps/pep-0287.html + ), \n\ + <reference refuri="http://www.faqs.org/rfcs/rfc2822.html"> + RFC 2822 + . +"""], +] + +totest['miscellaneous'] = [ +["""\ +For *completeness*, _`let's` ``test`` **other** forms_ +|of| `inline markup` [*]_. + +.. [*] See http://docutils.sf.net/docs/ref/rst/restructuredtext.html. +""", +"""\ +<document source="test data"> + <paragraph> + For \n\ + <emphasis> + completeness + , \n\ + <target ids="let-s" names="let's"> + let's + \n\ + <literal> + test + \n\ + <strong> + other + \n\ + <reference name="forms" refname="forms"> + forms + \n\ + <substitution_reference refname="of"> + of + \n\ + <title_reference> + inline markup + \n\ + <footnote_reference auto="*" ids="id1"> + . + <footnote auto="*" ids="id2"> + <paragraph> + See \n\ + <reference refuri="http://docutils.sf.net/docs/ref/rst/restructuredtext.html"> + http://docutils.sf.net/docs/ref/rst/restructuredtext.html + . +"""], +] + + +if __name__ == '__main__': + import unittest + unittest.main(defaultTest='suite') diff --git a/test/test_readers/test_pep/test_rfc2822.py b/test/test_readers/test_pep/test_rfc2822.py new file mode 100755 index 000000000..82fa27543 --- /dev/null +++ b/test/test_readers/test_pep/test_rfc2822.py @@ -0,0 +1,291 @@ +#! /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 RFC-2822 headers in PEPs (readers/pep.py). +""" + +from __init__ import DocutilsTestSupport + +def suite(): + s = DocutilsTestSupport.PEPParserTestSuite() + s.generateTests(totest) + return s + +totest = {} + +totest['rfc2822'] = [ +["""\ +Author: Me +Version: 1 +Date: 2002-04-23 +""", +"""\ +<document source="test data"> + <field_list classes="rfc2822"> + <field> + <field_name> + Author + <field_body> + <paragraph> + Me + <field> + <field_name> + Version + <field_body> + <paragraph> + 1 + <field> + <field_name> + Date + <field_body> + <paragraph> + 2002-04-23 +"""], +["""\ + + +Author: Me +Version: 1 +Date: 2002-04-23 + +.. Leading blank lines don't affect RFC-2822 header parsing. +""", +"""\ +<document source="test data"> + <field_list classes="rfc2822"> + <field> + <field_name> + Author + <field_body> + <paragraph> + Me + <field> + <field_name> + Version + <field_body> + <paragraph> + 1 + <field> + <field_name> + Date + <field_body> + <paragraph> + 2002-04-23 + <comment xml:space="preserve"> + Leading blank lines don't affect RFC-2822 header parsing. +"""], +["""\ +.. A comment should prevent RFC-2822 header parsing. + +Author: Me +Version: 1 +Date: 2002-04-23 +""", +"""\ +<document source="test data"> + <comment xml:space="preserve"> + A comment should prevent RFC-2822 header parsing. + <paragraph> + Author: Me + Version: 1 + Date: 2002-04-23 +"""], +["""\ +Author: Me + +Version: 1 +Date: 2002-04-23 +""", +"""\ +<document source="test data"> + <field_list classes="rfc2822"> + <field> + <field_name> + Author + <field_body> + <paragraph> + Me + <paragraph> + Version: 1 + Date: 2002-04-23 +"""], +["""\ +field: +empty item above, no blank line +""", +"""\ +<document source="test data"> + <field_list classes="rfc2822"> + <field> + <field_name> + field + <field_body> + <system_message level="2" line="2" source="test data" type="WARNING"> + <paragraph> + RFC2822-style field list ends without a blank line; unexpected unindent. + <paragraph> + empty item above, no blank line +"""], +["""\ +Author: + Me +Version: + 1 +Date: + 2002-04-23 +""", +"""\ +<document source="test data"> + <field_list classes="rfc2822"> + <field> + <field_name> + Author + <field_body> + <paragraph> + Me + <field> + <field_name> + Version + <field_body> + <paragraph> + 1 + <field> + <field_name> + Date + <field_body> + <paragraph> + 2002-04-23 +"""], +["""\ +Authors: Me, + Myself, + and I +Version: 1 + or so +Date: 2002-04-23 + (Tuesday) +""", +"""\ +<document source="test data"> + <field_list classes="rfc2822"> + <field> + <field_name> + Authors + <field_body> + <paragraph> + Me, + Myself, + and I + <field> + <field_name> + Version + <field_body> + <paragraph> + 1 + or so + <field> + <field_name> + Date + <field_body> + <paragraph> + 2002-04-23 + (Tuesday) +"""], +["""\ +Authors: Me, + Myself, + and I +Version: 1 + or so +Date: 2002-04-23 + (Tuesday) +""", +"""\ +<document source="test data"> + <field_list classes="rfc2822"> + <field> + <field_name> + Authors + <field_body> + <paragraph> + Me, + Myself, + and I + <field> + <field_name> + Version + <field_body> + <paragraph> + 1 + or so + <field> + <field_name> + Date + <field_body> + <paragraph> + 2002-04-23 + (Tuesday) +"""], +["""\ +Authors: - Me + - Myself + - I +Version: +""", +"""\ +<document source="test data"> + <field_list classes="rfc2822"> + <field> + <field_name> + Authors + <field_body> + <bullet_list bullet="-"> + <list_item> + <paragraph> + Me + <list_item> + <paragraph> + Myself + <list_item> + <paragraph> + I + <field> + <field_name> + Version + <field_body> +"""], +["""\ +Authors: Me + + Myself and I +Version: +""", +"""\ +<document source="test data"> + <field_list classes="rfc2822"> + <field> + <field_name> + Authors + <field_body> + <paragraph> + Me + <block_quote> + <paragraph> + Myself and I + <system_message level="2" line="4" source="test data" type="WARNING"> + <paragraph> + Block quote ends without a blank line; unexpected unindent. + <paragraph> + Version: +"""], +] + +if __name__ == '__main__': + import unittest + unittest.main(defaultTest='suite') |