You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
432 lines
10 KiB
432 lines
10 KiB
#! /usr/bin/env python |
|
|
|
# $Id: test_contents.py 4564 2006-05-21 20:44:42Z wiemann $ |
|
# Author: David Goodger <goodger@python.org> |
|
# Copyright: This module has been placed in the public domain. |
|
|
|
""" |
|
Tests for `docutils.transforms.parts.Contents` (via |
|
`docutils.transforms.universal.LastReaderPending`). |
|
""" |
|
|
|
from __init__ import DocutilsTestSupport |
|
from docutils.transforms.references import Substitutions |
|
from docutils.parsers.rst import Parser |
|
|
|
|
|
def suite(): |
|
parser = Parser() |
|
s = DocutilsTestSupport.TransformTestSuite(parser) |
|
s.generateTests(totest) |
|
return s |
|
|
|
totest = {} |
|
|
|
totest['tables_of_contents'] = ((Substitutions,), [ |
|
["""\ |
|
.. contents:: |
|
|
|
Title 1 |
|
======= |
|
Paragraph 1. |
|
|
|
Title_ 2 |
|
-------- |
|
Paragraph 2. |
|
|
|
_`Title` 3 |
|
`````````` |
|
Paragraph 3. |
|
|
|
Title 4 |
|
------- |
|
Paragraph 4. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<topic classes="contents" ids="contents" names="contents"> |
|
<title> |
|
Contents |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id1" refid="title-1"> |
|
Title 1 |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id2" refid="title-2"> |
|
Title |
|
2 |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id3" refid="title-3"> |
|
Title |
|
3 |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id4" refid="title-4"> |
|
Title 4 |
|
<section ids="title-1" names="title\ 1"> |
|
<title refid="id1"> |
|
Title 1 |
|
<paragraph> |
|
Paragraph 1. |
|
<section ids="title-2" names="title\ 2"> |
|
<title> |
|
<reference name="Title" refname="title"> |
|
Title |
|
2 |
|
<paragraph> |
|
Paragraph 2. |
|
<section ids="title-3" names="title\ 3"> |
|
<title refid="id3"> |
|
<target ids="title" names="title"> |
|
Title |
|
3 |
|
<paragraph> |
|
Paragraph 3. |
|
<section ids="title-4" names="title\ 4"> |
|
<title refid="id4"> |
|
Title 4 |
|
<paragraph> |
|
Paragraph 4. |
|
"""], |
|
["""\ |
|
.. contents:: Table of Contents |
|
|
|
Title 1 |
|
======= |
|
Paragraph 1. |
|
|
|
Title 2 |
|
------- |
|
Paragraph 2. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<topic classes="contents" ids="table-of-contents" names="table\ of\ contents"> |
|
<title> |
|
Table of Contents |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id1" refid="title-1"> |
|
Title 1 |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id2" refid="title-2"> |
|
Title 2 |
|
<section ids="title-1" names="title\ 1"> |
|
<title refid="id1"> |
|
Title 1 |
|
<paragraph> |
|
Paragraph 1. |
|
<section ids="title-2" names="title\ 2"> |
|
<title refid="id2"> |
|
Title 2 |
|
<paragraph> |
|
Paragraph 2. |
|
"""], |
|
["""\ |
|
.. contents:: There's an image in Title 2 |
|
|
|
Title 1 |
|
======= |
|
Paragraph 1. |
|
|
|
|Title 2| |
|
========= |
|
Paragraph 2. |
|
|
|
.. |Title 2| image:: title2.png |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<topic classes="contents" ids="there-s-an-image-in-title-2" names="there's\ an\ image\ in\ title\ 2"> |
|
<title> |
|
There's an image in Title 2 |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id1" refid="title-1"> |
|
Title 1 |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id2" refid="title-2"> |
|
Title 2 |
|
<section ids="title-1" names="title\ 1"> |
|
<title refid="id1"> |
|
Title 1 |
|
<paragraph> |
|
Paragraph 1. |
|
<section ids="title-2" names="title\ 2"> |
|
<title refid="id2"> |
|
<image alt="Title 2" uri="title2.png"> |
|
<paragraph> |
|
Paragraph 2. |
|
<substitution_definition names="Title\ 2"> |
|
<image alt="Title 2" uri="title2.png"> |
|
"""], # emacs cruft: " |
|
["""\ |
|
.. contents:: |
|
:depth: 2 |
|
|
|
Title 1 |
|
======= |
|
Paragraph 1. |
|
|
|
Title 2 |
|
------- |
|
Paragraph 2. |
|
|
|
Title 3 |
|
``````` |
|
Paragraph 3. |
|
|
|
Title 4 |
|
------- |
|
Paragraph 4. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<topic classes="contents" ids="contents" names="contents"> |
|
<title> |
|
Contents |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id1" refid="title-1"> |
|
Title 1 |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id2" refid="title-2"> |
|
Title 2 |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id3" refid="title-4"> |
|
Title 4 |
|
<section ids="title-1" names="title\ 1"> |
|
<title refid="id1"> |
|
Title 1 |
|
<paragraph> |
|
Paragraph 1. |
|
<section ids="title-2" names="title\ 2"> |
|
<title refid="id2"> |
|
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 refid="id3"> |
|
Title 4 |
|
<paragraph> |
|
Paragraph 4. |
|
"""], |
|
["""\ |
|
Title 1 |
|
======= |
|
|
|
.. contents:: |
|
:local: |
|
|
|
Paragraph 1. |
|
|
|
Title 2 |
|
------- |
|
Paragraph 2. |
|
|
|
Title 3 |
|
``````` |
|
Paragraph 3. |
|
|
|
Title 4 |
|
------- |
|
Paragraph 4. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<section ids="title-1" names="title\ 1"> |
|
<title> |
|
Title 1 |
|
<topic classes="contents local" ids="contents" names="contents"> |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id1" refid="title-2"> |
|
Title 2 |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id2" refid="title-3"> |
|
Title 3 |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id3" refid="title-4"> |
|
Title 4 |
|
<paragraph> |
|
Paragraph 1. |
|
<section ids="title-2" names="title\ 2"> |
|
<title refid="id1"> |
|
Title 2 |
|
<paragraph> |
|
Paragraph 2. |
|
<section ids="title-3" names="title\ 3"> |
|
<title refid="id2"> |
|
Title 3 |
|
<paragraph> |
|
Paragraph 3. |
|
<section ids="title-4" names="title\ 4"> |
|
<title refid="id3"> |
|
Title 4 |
|
<paragraph> |
|
Paragraph 4. |
|
"""], |
|
["""\ |
|
.. contents:: |
|
:local: |
|
|
|
Test duplicate name "Contents". |
|
|
|
Section |
|
-------- |
|
Paragraph. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<topic classes="contents local" ids="contents" names="contents"> |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id1" refid="section"> |
|
Section |
|
<paragraph> |
|
Test duplicate name "Contents". |
|
<section ids="section" names="section"> |
|
<title refid="id1"> |
|
Section |
|
<paragraph> |
|
Paragraph. |
|
"""], |
|
["""\ |
|
.. contents:: |
|
:backlinks: top |
|
|
|
Section |
|
-------- |
|
Paragraph. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<topic classes="contents" ids="contents" names="contents"> |
|
<title> |
|
Contents |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id1" refid="section"> |
|
Section |
|
<section ids="section" names="section"> |
|
<title refid="contents"> |
|
Section |
|
<paragraph> |
|
Paragraph. |
|
"""], |
|
["""\ |
|
.. contents:: |
|
:backlinks: none |
|
|
|
Section |
|
-------- |
|
Paragraph. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<topic classes="contents" ids="contents" names="contents"> |
|
<title> |
|
Contents |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id1" refid="section"> |
|
Section |
|
<section ids="section" names="section"> |
|
<title> |
|
Section |
|
<paragraph> |
|
Paragraph. |
|
"""], |
|
["""\ |
|
.. contents:: |
|
|
|
Degenerate case, no table of contents generated. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<paragraph> |
|
Degenerate case, no table of contents generated. |
|
"""], |
|
["""\ |
|
Title 1 |
|
======= |
|
|
|
Paragraph 1. |
|
|
|
.. sidebar:: Contents |
|
|
|
.. contents:: |
|
:local: |
|
|
|
Title 2 |
|
------- |
|
Paragraph 2. |
|
|
|
Title 3 |
|
``````` |
|
Paragraph 3. |
|
""", |
|
"""\ |
|
<document source="test data"> |
|
<section ids="title-1" names="title\ 1"> |
|
<title> |
|
Title 1 |
|
<paragraph> |
|
Paragraph 1. |
|
<sidebar> |
|
<title> |
|
Contents |
|
<topic classes="contents local" ids="contents" names="contents"> |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id1" refid="title-2"> |
|
Title 2 |
|
<bullet_list> |
|
<list_item> |
|
<paragraph> |
|
<reference ids="id2" refid="title-3"> |
|
Title 3 |
|
<section ids="title-2" names="title\ 2"> |
|
<title refid="id1"> |
|
Title 2 |
|
<paragraph> |
|
Paragraph 2. |
|
<section ids="title-3" names="title\ 3"> |
|
<title refid="id2"> |
|
Title 3 |
|
<paragraph> |
|
Paragraph 3. |
|
"""], |
|
]) |
|
|
|
|
|
if __name__ == '__main__': |
|
import unittest |
|
unittest.main(defaultTest='suite')
|
|
|