#! /usr/bin/env python # $Id: test_class.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.misc.ClassAttribute`. """ from .__init__ import DocutilsTestSupport from docutils.parsers.rst import Parser def suite(): parser = Parser() s = DocutilsTestSupport.TransformTestSuite(parser) s.generateTests(totest) return s totest = {} totest['class'] = ((), [ ["""\ .. class:: one paragraph """, """\ paragraph """], ["""\ .. class:: two .. Block quote """, """\ Block quote """], ["""\ Block quote .. class:: three Paragraph """, """\ Block quote Paragraph """], ["""\ .. class:: four Section Title ============= Paragraph """, """\
Section Title <paragraph> Paragraph """], ["""\ .. class:: multiple paragraph 1 paragraph 2 """, """\ <document source="test data"> <paragraph classes="multiple"> paragraph 1 <paragraph classes="multiple"> paragraph 2 """], ["""\ .. class:: multiple .. Just a comment. It's silly, but possible """, """\ <document source="test data"> <comment classes="multiple" xml:space="preserve"> Just a comment. It's silly, but possible """], ["""\ .. class:: .. class:: 99 """, """\ <document source="test data"> <system_message level="3" line="1" source="test data" type="ERROR"> <paragraph> Error in "class" directive: 1 argument(s) required, 0 supplied. <literal_block xml:space="preserve"> .. class:: <system_message level="3" line="3" source="test data" type="ERROR"> <paragraph> Invalid class attribute value for "class" directive: "99". <literal_block xml:space="preserve"> .. class:: 99 """], ["""\ .. class:: one .. class:: two multiple class values may be assigned to one element """, """\ <document source="test data"> <paragraph classes="one two"> multiple class values may be assigned to one element """], ["""\ .. class:: one two multiple class values may be assigned to one element """, """\ <document source="test data"> <paragraph classes="one two"> multiple class values may be assigned to one element """], ["""\ .. class:: fancy 2. List starts at 2. 3. Class should apply to list, not to system message. """, """\ <document source="test data"> <enumerated_list classes="fancy" enumtype="arabic" prefix="" start="2" suffix="."> <list_item> <paragraph> List starts at 2. <list_item> <paragraph> Class should apply to list, not to system message. <system_message level="1" line="3" source="test data" type="INFO"> <paragraph> Enumerated list start value not ordinal-1: "2" (ordinal 2) """], ["""\ 2. List starts at 2. 3. Class should apply to next paragraph, not to system message. .. class:: fancy A paragraph. """, """\ <document source="test data"> <enumerated_list enumtype="arabic" prefix="" start="2" suffix="."> <list_item> <paragraph> List starts at 2. <list_item> <paragraph> Class should apply to next paragraph, not to system message. <system_message level="1" line="1" source="test data" type="INFO"> <paragraph> Enumerated list start value not ordinal-1: "2" (ordinal 2) <paragraph classes="fancy"> A paragraph. """], ]) if __name__ == '__main__': import unittest unittest.main(defaultTest='suite')