|
|
# -*- coding: utf-8 -*- |
|
|
#! /usr/bin/env python |
|
|
|
|
|
# $Id: test_section_headers.py 6476 2010-11-10 13:43:50Z milde $ |
|
|
# Author: David Goodger <goodger@python.org> |
|
|
# 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['section_headers'] = [ |
|
|
["""\ |
|
|
Title |
|
|
===== |
|
|
|
|
|
Paragraph. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<section ids="title" names="title"> |
|
|
<title> |
|
|
Title |
|
|
<paragraph> |
|
|
Paragraph. |
|
|
"""], |
|
|
["""\ |
|
|
Title |
|
|
===== |
|
|
Paragraph (no blank line). |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<section ids="title" names="title"> |
|
|
<title> |
|
|
Title |
|
|
<paragraph> |
|
|
Paragraph (no blank line). |
|
|
"""], |
|
|
["""\ |
|
|
Paragraph. |
|
|
|
|
|
Title |
|
|
===== |
|
|
|
|
|
Paragraph. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<paragraph> |
|
|
Paragraph. |
|
|
<section ids="title" names="title"> |
|
|
<title> |
|
|
Title |
|
|
<paragraph> |
|
|
Paragraph. |
|
|
"""], |
|
|
["""\ |
|
|
Test unexpected section titles. |
|
|
|
|
|
Title |
|
|
===== |
|
|
Paragraph. |
|
|
|
|
|
----- |
|
|
Title |
|
|
----- |
|
|
Paragraph. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<paragraph> |
|
|
Test unexpected section titles. |
|
|
<block_quote> |
|
|
<system_message level="4" line="4" source="test data" type="SEVERE"> |
|
|
<paragraph> |
|
|
Unexpected section title. |
|
|
<literal_block xml:space="preserve"> |
|
|
Title |
|
|
===== |
|
|
<paragraph> |
|
|
Paragraph. |
|
|
<system_message level="4" line="7" source="test data" type="SEVERE"> |
|
|
<paragraph> |
|
|
Unexpected section title or transition. |
|
|
<literal_block xml:space="preserve"> |
|
|
----- |
|
|
<system_message level="4" line="9" source="test data" type="SEVERE"> |
|
|
<paragraph> |
|
|
Unexpected section title. |
|
|
<literal_block xml:space="preserve"> |
|
|
Title |
|
|
----- |
|
|
<paragraph> |
|
|
Paragraph. |
|
|
"""], |
|
|
["""\ |
|
|
Title |
|
|
==== |
|
|
|
|
|
Test short underline. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<section ids="title" names="title"> |
|
|
<title> |
|
|
Title |
|
|
<system_message level="2" line="2" source="test data" type="WARNING"> |
|
|
<paragraph> |
|
|
Title underline too short. |
|
|
<literal_block xml:space="preserve"> |
|
|
Title |
|
|
==== |
|
|
<paragraph> |
|
|
Test short underline. |
|
|
"""], |
|
|
[u"""\ |
|
|
à with combining varia |
|
|
====================== |
|
|
|
|
|
Do not count combining chars in title column width. |
|
|
""", |
|
|
u"""\ |
|
|
<document source="test data"> |
|
|
<section ids="a-with-combining-varia" names="a\u0300\ with\ combining\ varia"> |
|
|
<title> |
|
|
à with combining varia |
|
|
<paragraph> |
|
|
Do not count combining chars in title column width. |
|
|
"""], |
|
|
["""\ |
|
|
===== |
|
|
Title |
|
|
===== |
|
|
|
|
|
Test overline title. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<section ids="title" names="title"> |
|
|
<title> |
|
|
Title |
|
|
<paragraph> |
|
|
Test overline title. |
|
|
"""], |
|
|
["""\ |
|
|
======= |
|
|
Title |
|
|
======= |
|
|
|
|
|
Test overline title with inset. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<section ids="title" names="title"> |
|
|
<title> |
|
|
Title |
|
|
<paragraph> |
|
|
Test overline title with inset. |
|
|
"""], |
|
|
["""\ |
|
|
======================== |
|
|
Test Missing Underline |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<system_message level="4" line="1" source="test data" type="SEVERE"> |
|
|
<paragraph> |
|
|
Incomplete section title. |
|
|
<literal_block xml:space="preserve"> |
|
|
======================== |
|
|
Test Missing Underline |
|
|
"""], |
|
|
["""\ |
|
|
======================== |
|
|
Test Missing Underline |
|
|
|
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<system_message level="4" line="1" source="test data" type="SEVERE"> |
|
|
<paragraph> |
|
|
Missing matching underline for section title overline. |
|
|
<literal_block xml:space="preserve"> |
|
|
======================== |
|
|
Test Missing Underline |
|
|
"""], |
|
|
["""\ |
|
|
======= |
|
|
Title |
|
|
|
|
|
Test missing underline, with paragraph. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<system_message level="4" line="1" source="test data" type="SEVERE"> |
|
|
<paragraph> |
|
|
Missing matching underline for section title overline. |
|
|
<literal_block xml:space="preserve"> |
|
|
======= |
|
|
Title |
|
|
<paragraph> |
|
|
Test missing underline, with paragraph. |
|
|
"""], |
|
|
["""\ |
|
|
======= |
|
|
Long Title |
|
|
======= |
|
|
|
|
|
Test long title and space normalization. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<section ids="long-title" names="long\ title"> |
|
|
<title> |
|
|
Long Title |
|
|
<system_message level="2" line="1" source="test data" type="WARNING"> |
|
|
<paragraph> |
|
|
Title overline too short. |
|
|
<literal_block xml:space="preserve"> |
|
|
======= |
|
|
Long Title |
|
|
======= |
|
|
<paragraph> |
|
|
Test long title and space normalization. |
|
|
"""], |
|
|
["""\ |
|
|
======= |
|
|
Title |
|
|
------- |
|
|
|
|
|
Paragraph. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<system_message level="4" line="1" source="test data" type="SEVERE"> |
|
|
<paragraph> |
|
|
Title overline & underline mismatch. |
|
|
<literal_block xml:space="preserve"> |
|
|
======= |
|
|
Title |
|
|
------- |
|
|
<paragraph> |
|
|
Paragraph. |
|
|
"""], |
|
|
["""\ |
|
|
======================== |
|
|
|
|
|
======================== |
|
|
|
|
|
Test missing titles; blank line in-between. |
|
|
|
|
|
======================== |
|
|
|
|
|
======================== |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<transition> |
|
|
<transition> |
|
|
<paragraph> |
|
|
Test missing titles; blank line in-between. |
|
|
<transition> |
|
|
<transition> |
|
|
"""], |
|
|
["""\ |
|
|
======================== |
|
|
======================== |
|
|
|
|
|
Test missing titles; nothing in-between. |
|
|
|
|
|
======================== |
|
|
======================== |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<system_message level="3" line="1" source="test data" type="ERROR"> |
|
|
<paragraph> |
|
|
Invalid section title or transition marker. |
|
|
<literal_block xml:space="preserve"> |
|
|
======================== |
|
|
======================== |
|
|
<paragraph> |
|
|
Test missing titles; nothing in-between. |
|
|
<system_message level="3" line="6" source="test data" type="ERROR"> |
|
|
<paragraph> |
|
|
Invalid section title or transition marker. |
|
|
<literal_block xml:space="preserve"> |
|
|
======================== |
|
|
======================== |
|
|
"""], |
|
|
["""\ |
|
|
.. Test return to existing, highest-level section (Title 3). |
|
|
|
|
|
Title 1 |
|
|
======= |
|
|
Paragraph 1. |
|
|
|
|
|
Title 2 |
|
|
------- |
|
|
Paragraph 2. |
|
|
|
|
|
Title 3 |
|
|
======= |
|
|
Paragraph 3. |
|
|
|
|
|
Title 4 |
|
|
------- |
|
|
Paragraph 4. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<comment xml:space="preserve"> |
|
|
Test return to existing, highest-level section (Title 3). |
|
|
<section ids="title-1" names="title\ 1"> |
|
|
<title> |
|
|
Title 1 |
|
|
<paragraph> |
|
|
Paragraph 1. |
|
|
<section ids="title-2" names="title\ 2"> |
|
|
<title> |
|
|
Title 2 |
|
|
<paragraph> |
|
|
Paragraph 2. |
|
|
<section ids="title-3" names="title\ 3"> |
|
|
<title> |
|
|
Title 3 |
|
|
<paragraph> |
|
|
Paragraph 3. |
|
|
<section ids="title-4" names="title\ 4"> |
|
|
<title> |
|
|
Title 4 |
|
|
<paragraph> |
|
|
Paragraph 4. |
|
|
"""], |
|
|
["""\ |
|
|
Test return to existing, highest-level section (Title 3, with overlines). |
|
|
|
|
|
======= |
|
|
Title 1 |
|
|
======= |
|
|
Paragraph 1. |
|
|
|
|
|
------- |
|
|
Title 2 |
|
|
------- |
|
|
Paragraph 2. |
|
|
|
|
|
======= |
|
|
Title 3 |
|
|
======= |
|
|
Paragraph 3. |
|
|
|
|
|
------- |
|
|
Title 4 |
|
|
------- |
|
|
Paragraph 4. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<paragraph> |
|
|
Test return to existing, highest-level section (Title 3, with overlines). |
|
|
<section ids="title-1" names="title\ 1"> |
|
|
<title> |
|
|
Title 1 |
|
|
<paragraph> |
|
|
Paragraph 1. |
|
|
<section ids="title-2" names="title\ 2"> |
|
|
<title> |
|
|
Title 2 |
|
|
<paragraph> |
|
|
Paragraph 2. |
|
|
<section ids="title-3" names="title\ 3"> |
|
|
<title> |
|
|
Title 3 |
|
|
<paragraph> |
|
|
Paragraph 3. |
|
|
<section ids="title-4" names="title\ 4"> |
|
|
<title> |
|
|
Title 4 |
|
|
<paragraph> |
|
|
Paragraph 4. |
|
|
"""], |
|
|
["""\ |
|
|
Test return to existing, higher-level section (Title 4). |
|
|
|
|
|
Title 1 |
|
|
======= |
|
|
Paragraph 1. |
|
|
|
|
|
Title 2 |
|
|
------- |
|
|
Paragraph 2. |
|
|
|
|
|
Title 3 |
|
|
``````` |
|
|
Paragraph 3. |
|
|
|
|
|
Title 4 |
|
|
------- |
|
|
Paragraph 4. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<paragraph> |
|
|
Test return to existing, higher-level section (Title 4). |
|
|
<section ids="title-1" names="title\ 1"> |
|
|
<title> |
|
|
Title 1 |
|
|
<paragraph> |
|
|
Paragraph 1. |
|
|
<section ids="title-2" names="title\ 2"> |
|
|
<title> |
|
|
Title 2 |
|
|
<paragraph> |
|
|
Paragraph 2. |
|
|
<section ids="title-3" names="title\ 3"> |
|
|
<title> |
|
|
Title 3 |
|
|
<paragraph> |
|
|
Paragraph 3. |
|
|
<section ids="title-4" names="title\ 4"> |
|
|
<title> |
|
|
Title 4 |
|
|
<paragraph> |
|
|
Paragraph 4. |
|
|
"""], |
|
|
["""\ |
|
|
Test bad subsection order (Title 4). |
|
|
|
|
|
Title 1 |
|
|
======= |
|
|
Paragraph 1. |
|
|
|
|
|
Title 2 |
|
|
------- |
|
|
Paragraph 2. |
|
|
|
|
|
Title 3 |
|
|
======= |
|
|
Paragraph 3. |
|
|
|
|
|
Title 4 |
|
|
``````` |
|
|
Paragraph 4. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<paragraph> |
|
|
Test bad subsection order (Title 4). |
|
|
<section ids="title-1" names="title\ 1"> |
|
|
<title> |
|
|
Title 1 |
|
|
<paragraph> |
|
|
Paragraph 1. |
|
|
<section ids="title-2" names="title\ 2"> |
|
|
<title> |
|
|
Title 2 |
|
|
<paragraph> |
|
|
Paragraph 2. |
|
|
<section ids="title-3" names="title\ 3"> |
|
|
<title> |
|
|
Title 3 |
|
|
<paragraph> |
|
|
Paragraph 3. |
|
|
<system_message level="4" line="15" source="test data" type="SEVERE"> |
|
|
<paragraph> |
|
|
Title level inconsistent: |
|
|
<literal_block xml:space="preserve"> |
|
|
Title 4 |
|
|
``````` |
|
|
<paragraph> |
|
|
Paragraph 4. |
|
|
"""], |
|
|
["""\ |
|
|
Test bad subsection order (Title 4, with overlines). |
|
|
|
|
|
======= |
|
|
Title 1 |
|
|
======= |
|
|
Paragraph 1. |
|
|
|
|
|
------- |
|
|
Title 2 |
|
|
------- |
|
|
Paragraph 2. |
|
|
|
|
|
======= |
|
|
Title 3 |
|
|
======= |
|
|
Paragraph 3. |
|
|
|
|
|
``````` |
|
|
Title 4 |
|
|
``````` |
|
|
Paragraph 4. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<paragraph> |
|
|
Test bad subsection order (Title 4, with overlines). |
|
|
<section ids="title-1" names="title\ 1"> |
|
|
<title> |
|
|
Title 1 |
|
|
<paragraph> |
|
|
Paragraph 1. |
|
|
<section ids="title-2" names="title\ 2"> |
|
|
<title> |
|
|
Title 2 |
|
|
<paragraph> |
|
|
Paragraph 2. |
|
|
<section ids="title-3" names="title\ 3"> |
|
|
<title> |
|
|
Title 3 |
|
|
<paragraph> |
|
|
Paragraph 3. |
|
|
<system_message level="4" line="19" source="test data" type="SEVERE"> |
|
|
<paragraph> |
|
|
Title level inconsistent: |
|
|
<literal_block xml:space="preserve"> |
|
|
``````` |
|
|
Title 4 |
|
|
``````` |
|
|
<paragraph> |
|
|
Paragraph 4. |
|
|
"""], |
|
|
["""\ |
|
|
Title containing *inline* ``markup`` |
|
|
==================================== |
|
|
|
|
|
Paragraph. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<section ids="title-containing-inline-markup" names="title\ containing\ inline\ markup"> |
|
|
<title> |
|
|
Title containing \n\ |
|
|
<emphasis> |
|
|
inline |
|
|
\n\ |
|
|
<literal> |
|
|
markup |
|
|
<paragraph> |
|
|
Paragraph. |
|
|
"""], |
|
|
["""\ |
|
|
1. Numbered Title |
|
|
================= |
|
|
|
|
|
Paragraph. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<section ids="numbered-title" names="1.\ numbered\ title"> |
|
|
<title> |
|
|
1. Numbered Title |
|
|
<paragraph> |
|
|
Paragraph. |
|
|
"""], |
|
|
["""\ |
|
|
1. Item 1. |
|
|
2. Item 2. |
|
|
3. Numbered Title |
|
|
================= |
|
|
|
|
|
Paragraph. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<enumerated_list enumtype="arabic" prefix="" suffix="."> |
|
|
<list_item> |
|
|
<paragraph> |
|
|
Item 1. |
|
|
<list_item> |
|
|
<paragraph> |
|
|
Item 2. |
|
|
<system_message level="2" line="3" source="test data" type="WARNING"> |
|
|
<paragraph> |
|
|
Enumerated list ends without a blank line; unexpected unindent. |
|
|
<section ids="numbered-title" names="3.\ numbered\ title"> |
|
|
<title> |
|
|
3. Numbered Title |
|
|
<paragraph> |
|
|
Paragraph. |
|
|
"""], |
|
|
["""\ |
|
|
ABC |
|
|
=== |
|
|
|
|
|
Short title. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<section ids="abc" names="abc"> |
|
|
<title> |
|
|
ABC |
|
|
<paragraph> |
|
|
Short title. |
|
|
"""], |
|
|
["""\ |
|
|
ABC |
|
|
== |
|
|
|
|
|
Underline too short. |
|
|
""", |
|
|
"""\ |
|
|
<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> |
|
|
ABC |
|
|
== |
|
|
<paragraph> |
|
|
Underline too short. |
|
|
"""], |
|
|
["""\ |
|
|
== |
|
|
ABC |
|
|
== |
|
|
|
|
|
Over & underline too short. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<system_message level="1" line="1" source="test data" type="INFO"> |
|
|
<paragraph> |
|
|
Possible incomplete section title. |
|
|
Treating the overline as ordinary text because it's so short. |
|
|
<paragraph> |
|
|
== |
|
|
ABC |
|
|
== |
|
|
<paragraph> |
|
|
Over & underline too short. |
|
|
"""], |
|
|
["""\ |
|
|
== |
|
|
ABC |
|
|
|
|
|
Overline too short, no underline. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<system_message level="1" line="1" source="test data" type="INFO"> |
|
|
<paragraph> |
|
|
Possible incomplete section title. |
|
|
Treating the overline as ordinary text because it's so short. |
|
|
<paragraph> |
|
|
== |
|
|
ABC |
|
|
<paragraph> |
|
|
Overline too short, no underline. |
|
|
"""], |
|
|
["""\ |
|
|
== |
|
|
ABC |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<system_message level="1" line="1" source="test data" type="INFO"> |
|
|
<paragraph> |
|
|
Possible incomplete section title. |
|
|
Treating the overline as ordinary text because it's so short. |
|
|
<paragraph> |
|
|
== |
|
|
ABC |
|
|
"""], |
|
|
["""\ |
|
|
== |
|
|
Not a title: a definition list item. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<system_message level="1" line="1" source="test data" type="INFO"> |
|
|
<paragraph> |
|
|
Possible incomplete section title. |
|
|
Treating the overline as ordinary text because it's so short. |
|
|
<definition_list> |
|
|
<definition_list_item> |
|
|
<term> |
|
|
== |
|
|
<definition> |
|
|
<paragraph> |
|
|
Not a title: a definition list item. |
|
|
"""], |
|
|
["""\ |
|
|
== |
|
|
Not a title: a definition list item. |
|
|
-- |
|
|
Another definition list item. It's in a different list, |
|
|
but that's an acceptable limitation given that this will |
|
|
probably never happen in real life. |
|
|
|
|
|
The next line will trigger a warning: |
|
|
== |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<system_message level="1" line="1" source="test data" type="INFO"> |
|
|
<paragraph> |
|
|
Possible incomplete section title. |
|
|
Treating the overline as ordinary text because it's so short. |
|
|
<definition_list> |
|
|
<definition_list_item> |
|
|
<term> |
|
|
== |
|
|
<definition> |
|
|
<paragraph> |
|
|
Not a title: a definition list item. |
|
|
<system_message level="2" line="3" source="test data" type="WARNING"> |
|
|
<paragraph> |
|
|
Definition list ends without a blank line; unexpected unindent. |
|
|
<system_message level="1" line="3" source="test data" type="INFO"> |
|
|
<paragraph> |
|
|
Possible incomplete section title. |
|
|
Treating the overline as ordinary text because it's so short. |
|
|
<definition_list> |
|
|
<definition_list_item> |
|
|
<term> |
|
|
-- |
|
|
<definition> |
|
|
<paragraph> |
|
|
Another definition list item. It's in a different list, |
|
|
but that's an acceptable limitation given that this will |
|
|
probably never happen in real life. |
|
|
<paragraph> |
|
|
The next line will trigger a warning: |
|
|
<system_message level="2" line="9" source="test data" type="WARNING"> |
|
|
<paragraph> |
|
|
Definition list ends without a blank line; unexpected unindent. |
|
|
<paragraph> |
|
|
== |
|
|
"""], |
|
|
["""\ |
|
|
Paragraph |
|
|
|
|
|
== |
|
|
ABC |
|
|
== |
|
|
|
|
|
Over & underline too short. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<paragraph> |
|
|
Paragraph |
|
|
<block_quote> |
|
|
<system_message level="1" line="3" source="test data" type="INFO"> |
|
|
<paragraph> |
|
|
Unexpected possible title overline or transition. |
|
|
Treating it as ordinary text because it's so short. |
|
|
<paragraph> |
|
|
== |
|
|
ABC |
|
|
== |
|
|
<paragraph> |
|
|
Over & underline too short. |
|
|
"""], |
|
|
["""\ |
|
|
Paragraph |
|
|
|
|
|
ABC |
|
|
== |
|
|
|
|
|
Underline too short. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<paragraph> |
|
|
Paragraph |
|
|
<block_quote> |
|
|
<paragraph> |
|
|
ABC |
|
|
== |
|
|
<paragraph> |
|
|
Underline too short. |
|
|
"""], |
|
|
["""\ |
|
|
... |
|
|
... |
|
|
|
|
|
... |
|
|
--- |
|
|
|
|
|
... |
|
|
... |
|
|
... |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<system_message level="1" line="1" source="test data" type="INFO"> |
|
|
<paragraph> |
|
|
Possible incomplete section title. |
|
|
Treating the overline as ordinary text because it's so short. |
|
|
<section dupnames="..." ids="id1"> |
|
|
<title> |
|
|
... |
|
|
<system_message level="1" line="4" source="test data" type="INFO"> |
|
|
<paragraph> |
|
|
Possible incomplete section title. |
|
|
Treating the overline as ordinary text because it's so short. |
|
|
<section dupnames="..." ids="id2"> |
|
|
<title> |
|
|
... |
|
|
<system_message backrefs="id2" level="1" line="5" source="test data" type="INFO"> |
|
|
<paragraph> |
|
|
Duplicate implicit target name: "...". |
|
|
<system_message level="1" line="7" source="test data" type="INFO"> |
|
|
<paragraph> |
|
|
Possible incomplete section title. |
|
|
Treating the overline as ordinary text because it's so short. |
|
|
<system_message level="1" line="7" source="test data" type="INFO"> |
|
|
<paragraph> |
|
|
Possible incomplete section title. |
|
|
Treating the overline as ordinary text because it's so short. |
|
|
<section dupnames="..." ids="id3"> |
|
|
<title> |
|
|
... |
|
|
<system_message backrefs="id3" level="1" line="8" source="test data" type="INFO"> |
|
|
<paragraph> |
|
|
Duplicate implicit target name: "...". |
|
|
<paragraph> |
|
|
... |
|
|
"""], |
|
|
["""\ |
|
|
.. |
|
|
Hi |
|
|
.. |
|
|
|
|
|
... |
|
|
Yo |
|
|
... |
|
|
|
|
|
Ho |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<comment xml:space="preserve"> |
|
|
<system_message level="2" line="2" source="test data" type="WARNING"> |
|
|
<paragraph> |
|
|
Explicit markup ends without a blank line; unexpected unindent. |
|
|
<section ids="hi" names="hi"> |
|
|
<title> |
|
|
Hi |
|
|
<section ids="yo" names="yo"> |
|
|
<title> |
|
|
Yo |
|
|
<paragraph> |
|
|
Ho |
|
|
"""], |
|
|
["""\ |
|
|
Empty Section |
|
|
============= |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<section ids="empty-section" names="empty\ section"> |
|
|
<title> |
|
|
Empty Section |
|
|
"""], |
|
|
["""\ |
|
|
=== |
|
|
One |
|
|
=== |
|
|
|
|
|
The bubble-up parser strategy conflicts with short titles |
|
|
(<= 3 char-long over- & underlines). |
|
|
|
|
|
=== |
|
|
Two |
|
|
=== |
|
|
|
|
|
The parser currently contains a work-around kludge. |
|
|
Without it, the parser ends up in an infinite loop. |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
<section ids="one" names="one"> |
|
|
<title> |
|
|
One |
|
|
<paragraph> |
|
|
The bubble-up parser strategy conflicts with short titles |
|
|
(<= 3 char-long over- & underlines). |
|
|
<section ids="two" names="two"> |
|
|
<title> |
|
|
Two |
|
|
<paragraph> |
|
|
The parser currently contains a work-around kludge. |
|
|
Without it, the parser ends up in an infinite loop. |
|
|
"""], |
|
|
["""\ |
|
|
""", |
|
|
"""\ |
|
|
<document source="test data"> |
|
|
"""], |
|
|
] |
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
import unittest |
|
|
unittest.main(defaultTest='suite')
|
|
|
|