#! /usr/bin/env python # $Id: test_admonitions.py 7348 2012-02-08 19:46:11Z milde $ # Author: David Goodger # 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:: :name: mynote :class: testnote Admonitions support the generic "name" and "class" options. .. 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. """, """\ Directives at large. Admonitions support the generic "name" and "class" options. 15% if the service is good. It's bigger than a bread box. Strong prose may provoke extreme mental exertion. Reader discretion is strongly advised. Does not compute. Don't take any wooden nickels. Mad scientist at work! Wash behind your ears. Clean up your room. Call your mother. Back up your data. """], ["""\ .. note:: One-line notes. .. note:: One after the other. .. note:: No blank lines in-between. """, """\ One-line notes. One after the other. No blank lines in-between. """], ["""\ .. note:: Content before options is possible too. :class: mynote .. note:: :strong:`a role is not an option`. :name: role not option .. note:: a role is :strong:`not an option`, even if its starts a line. """, """\ Content before options is possible too. a role is not an option . a role is not an option , even if its starts a line. """], ["""\ .. note:: """, """\ Content block expected for the "note" directive; none found. .. note:: """], ["""\ .. admonition:: Admonition This is a generic admonition. """, """\ 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 :name: reference name Test the "class" override. """, """\ <document source="test data"> <admonition classes="emergency" ids="reference-name" names="reference\ name"> <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')