#! /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 admonitions.py directives.
"""
from __init__ import DocutilsTestSupport
def suite():
s = DocutilsTestSupport.ParserTestSuite()
s.generateTests(totest)
return s
totest = {}
totest['admonitions'] = [
["""\
.. Attention:: Directives at large.
.. Note:: This is a note.
.. Tip:: 15% if the
service is good.
.. Hint:: It's bigger than a bread box.
- .. WARNING:: Strong prose may provoke extreme mental exertion.
Reader discretion is strongly advised.
- .. Error:: Does not compute.
.. Caution::
Don't take any wooden nickels.
.. DANGER:: Mad scientist at work!
.. Important::
- Wash behind your ears.
- Clean up your room.
- Call your mother.
- Back up your data.
""",
"""\
<document source="test data">
<attention>
<paragraph>
Directives at large.
<note>
<paragraph>
This is a note.
<tip>
<paragraph>
15% if the
service is good.
<hint>
<paragraph>
It's bigger than a bread box.
<bullet_list bullet="-">
<list_item>
<warning>
<paragraph>
Strong prose may provoke extreme mental exertion.
Reader discretion is strongly advised.
<list_item>
<error>
<paragraph>
Does not compute.
<caution>
<paragraph>
Don't take any wooden nickels.
<danger>
<paragraph>
Mad scientist at work!
<important>
<bullet_list bullet="-">
<list_item>
<paragraph>
Wash behind your ears.
<list_item>
<paragraph>
Clean up your room.
<list_item>
<paragraph>
Call your mother.
<list_item>
<paragraph>
Back up your data.
"""],
["""\
.. note:: One-line notes.
.. note:: One after the other.
.. note:: No blank lines in-between.
""",
"""\
<document source="test data">
<note>
<paragraph>
One-line notes.
<note>
<paragraph>
One after the other.
<note>
<paragraph>
No blank lines in-between.
"""],
["""\
.. note::
""",
"""\
<document source="test data">
<system_message level="3" line="1" source="test data" type="ERROR">
<paragraph>
The "note" admonition is empty; content required.
<literal_block xml:space="preserve">
.. note::
"""],
["""\
.. admonition:: Admonition
This is a generic admonition.
""",
"""\
<document source="test data">
<admonition classes="admonition-admonition">
<title>
Admonition
<paragraph>
This is a generic admonition.
"""],
["""\
.. admonition:: And, by the way...
You can make up your own admonition too.
""",
"""\
<document source="test data">
<admonition classes="admonition-and-by-the-way">
<title>
And, by the way...
<paragraph>
You can make up your own admonition too.
"""],
["""\
.. admonition:: Admonition
:class: emergency
Test the "class" override.
""",
"""\
<document source="test data">
<admonition classes="emergency">
<title>
Admonition
<paragraph>
Test the "class" override.
"""],
["""\
.. admonition::
Generic admonitions require a title.
""",
"""\
<document source="test data">
<system_message level="3" line="1" source="test data" type="ERROR">
<paragraph>
Error in "admonition" directive:
1 argument(s) required, 0 supplied.
<literal_block xml:space="preserve">
.. admonition::
Generic admonitions require a title.
"""],
]
if __name__ == '__main__':
import unittest
unittest.main(defaultTest='suite')