#! /usr/bin/env python # Author: David Goodger # Contact: goodger@users.sourceforge.net # Revision: $Revision: 3129 $ # Date: $Date: 2005-10-06 10:35:16 -0500 (Thu, 06 Oct 2005) $ # 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['targets'] = [ ["""\ .. _target: (Internal hyperlink target.) """, """\ (Internal hyperlink target.) """], ["""\ .. _optional space before colon : """, """\ """], ["""\ External hyperlink targets: .. _one-liner: http://structuredtext.sourceforge.net .. _starts-on-this-line: http:// structuredtext. sourceforge.net .. _entirely-below: http://structuredtext. sourceforge.net .. _not-indirect: uri\\_ """, """\ External hyperlink targets: """], ["""\ Indirect hyperlink targets: .. _target1: reference_ .. _target2: `phrase-link reference`_ """, """\ Indirect hyperlink targets: """], ["""\ .. _a long target name: .. _`a target name: including a colon (quoted)`: .. _a target name\: including a colon (escaped): """, """\ """], ["""\ .. _a very long target name, split across lines: .. _`and another, with backquotes`: """, """\ """], ["""\ External hyperlink: .. _target: http://www.python.org/ """, """\ External hyperlink: """], ["""\ .. _email: jdoe@example.com .. _multi-line email: jdoe @example.com """, """\ """], ["""\ Duplicate external targets (different URIs): .. _target: first .. _target: second """, """\ Duplicate external targets (different URIs): Duplicate explicit target name: "target". """], ["""\ Duplicate external targets (same URIs): .. _target: first .. _target: first """, """\ Duplicate external targets (same URIs): Duplicate explicit target name: "target". """], ["""\ Duplicate implicit targets. Title ===== Paragraph. Title ===== Paragraph. """, """\ Duplicate implicit targets.
Title <paragraph> Paragraph. <section dupnames="title" ids="id1"> <title> Title <system_message backrefs="id1" level="1" line="9" source="test data" type="INFO"> <paragraph> Duplicate implicit target name: "title". <paragraph> Paragraph. """], ["""\ Duplicate implicit/explicit targets. Title ===== .. _title: Paragraph. """, """\ <document source="test data"> <paragraph> Duplicate implicit/explicit targets. <section dupnames="title" ids="title"> <title> Title <system_message backrefs="id1" level="1" line="6" source="test data" type="INFO"> <paragraph> Duplicate implicit target name: "title". <target ids="id1" names="title"> <paragraph> Paragraph. """], ["""\ Duplicate explicit targets. .. _title: First. .. _title: Second. .. _title: Third. """, """\ <document source="test data"> <paragraph> Duplicate explicit targets. <target dupnames="title" ids="title"> <paragraph> First. <system_message backrefs="id1" level="2" line="7" source="test data" type="WARNING"> <paragraph> Duplicate explicit target name: "title". <target dupnames="title" ids="id1"> <paragraph> Second. <system_message backrefs="id2" level="2" line="11" source="test data" type="WARNING"> <paragraph> Duplicate explicit target name: "title". <target dupnames="title" ids="id2"> <paragraph> Third. """], ["""\ Duplicate targets: Target ====== Implicit section header target. .. [target] Citation target. .. [#target] Autonumber-labeled footnote target. .. _target: Explicit internal target. .. _target: Explicit_external_target """, """\ <document source="test data"> <paragraph> Duplicate targets: <section dupnames="target" ids="target"> <title> Target <paragraph> Implicit section header target. <citation dupnames="target" ids="id1"> <label> target <system_message backrefs="id1" level="1" line="8" source="test data" type="INFO"> <paragraph> Duplicate implicit target name: "target". <paragraph> Citation target. <footnote auto="1" dupnames="target" ids="id2"> <system_message backrefs="id2" level="2" line="10" source="test data" type="WARNING"> <paragraph> Duplicate explicit target name: "target". <paragraph> Autonumber-labeled footnote target. <system_message backrefs="id3" level="2" line="12" source="test data" type="WARNING"> <paragraph> Duplicate explicit target name: "target". <target dupnames="target" ids="id3"> <paragraph> Explicit internal target. <system_message backrefs="id4" level="2" line="16" source="test data" type="WARNING"> <paragraph> Duplicate explicit target name: "target". <target dupnames="target" ids="id4" refuri="Explicit_external_target"> """], ] totest['anonymous_targets'] = [ ["""\ Anonymous external hyperlink target: .. __: http://w3c.org/ """, """\ <document source="test data"> <paragraph> Anonymous external hyperlink target: <target anonymous="1" ids="id1" refuri="http://w3c.org/"> """], ["""\ Anonymous external hyperlink target: __ http://w3c.org/ """, """\ <document source="test data"> <paragraph> Anonymous external hyperlink target: <target anonymous="1" ids="id1" refuri="http://w3c.org/"> """], ["""\ Anonymous indirect hyperlink target: .. __: reference_ """, """\ <document source="test data"> <paragraph> Anonymous indirect hyperlink target: <target anonymous="1" ids="id1" refname="reference"> """], ["""\ Anonymous external hyperlink target, not indirect: __ uri\\_ __ this URI ends with an underscore_ """, """\ <document source="test data"> <paragraph> Anonymous external hyperlink target, not indirect: <target anonymous="1" ids="id1" refuri="uri_"> <target anonymous="1" ids="id2" refuri="thisURIendswithanunderscore_"> """], ["""\ Anonymous indirect hyperlink targets: __ reference_ __ `a very long reference`_ """, """\ <document source="test data"> <paragraph> Anonymous indirect hyperlink targets: <target anonymous="1" ids="id1" refname="reference"> <target anonymous="1" ids="id2" refname="a very long reference"> """], ["""\ Mixed anonymous & named indirect hyperlink targets: __ reference_ .. __: reference_ __ reference_ .. _target1: reference_ no blank line .. _target2: reference_ __ reference_ .. __: reference_ __ reference_ no blank line """, """\ <document source="test data"> <paragraph> Mixed anonymous & named indirect hyperlink targets: <target anonymous="1" ids="id1" refname="reference"> <target anonymous="1" ids="id2" refname="reference"> <target anonymous="1" ids="id3" refname="reference"> <target ids="target1" names="target1" refname="reference"> <system_message level="2" line="7" source="test data" type="WARNING"> <paragraph> Explicit markup ends without a blank line; unexpected unindent. <paragraph> no blank line <target ids="target2" names="target2" refname="reference"> <target anonymous="1" ids="id4" refname="reference"> <target anonymous="1" ids="id5" refname="reference"> <target anonymous="1" ids="id6" refname="reference"> <system_message level="2" line="13" source="test data" type="WARNING"> <paragraph> Explicit markup ends without a blank line; unexpected unindent. <paragraph> no blank line """], ["""\ .. _ """, """\ <document source="test data"> <comment xml:space="preserve"> _ """], ] if __name__ == '__main__': import unittest unittest.main(defaultTest='suite')