test.test_transforms.test_doctitle.py Maven / Gradle / Ivy
#! /usr/bin/env python
# $Id: test_doctitle.py 4564 2006-05-21 20:44:42Z wiemann $
# Author: David Goodger
# Copyright: This module has been placed in the public domain.
"""
Tests for docutils.transforms.frontmatter.DocTitle.
"""
from __init__ import DocutilsTestSupport
from docutils.transforms.frontmatter import DocTitle, SectionSubTitle
from docutils.parsers.rst import Parser
def suite():
parser = Parser()
s = DocutilsTestSupport.TransformTestSuite(parser)
s.generateTests(totest)
return s
totest = {}
totest['section_headers'] = ((DocTitle, SectionSubTitle), [
["""\
.. test title promotion
Title
=====
Paragraph.
""",
"""\
Title
test title promotion
Paragraph.
"""],
["""\
Title
=====
Paragraph (no blank line).
""",
"""\
Title
Paragraph (no blank line).
"""],
["""\
Paragraph.
Title
=====
Paragraph.
""",
"""\
Paragraph.
Title
Paragraph.
"""],
["""\
Title
=====
Subtitle
--------
.. title:: Another Title
Test title, subtitle, and title metadata.
""",
"""\
Title
Subtitle
Test title, subtitle, and title metadata.
"""],
["""\
Title
====
Test short underline.
""",
"""\
Title
Title underline too short.
Title
====
Test short underline.
"""],
["""\
=======
Long Title
=======
Test long title and space normalization.
The system_message should move after the document title
(it was before the beginning of the section).
""",
"""\
Long Title
Title overline too short.
=======
Long Title
=======
Test long title and space normalization.
The system_message should move after the document title
(it was before the beginning of the section).
"""],
["""\
.. Test multiple second-level titles.
Title 1
=======
Paragraph 1.
Title 2
-------
Paragraph 2.
Title 3
-------
Paragraph 3.
""",
"""\
Title 1
Test multiple second-level titles.
Paragraph 1.
Title 2
Paragraph 2.
Title 3
Paragraph 3.
"""],
["""\
.. |foo| replace:: bar
.. _invisible target:
Title
=====
This title should be the document title despite the
substitution_definition.
""",
"""\
Title
bar
This title should be the document title despite the
substitution_definition.
"""],
["""\
(Because of this paragraph, the following is not a doc title.)
===============
Section Title
===============
Subtitle
========
-----------------
Another Section
-----------------
Another Subtitle
----------------
""",
"""\
(Because of this paragraph, the following is not a doc title.)
Section Title
Subtitle
Another Section
Another Subtitle
"""],
])
if __name__ == '__main__':
import unittest
unittest.main(defaultTest='suite')