4 # Author: David Goodger <goodger@python.org>
5 # Copyright: This module has been placed in the public domain.
8 Tests for misc.py "role" directive.
11 from __init__
import DocutilsTestSupport
15 s
= DocutilsTestSupport
.ParserTestSuite()
16 s
.generateTests(totest
)
26 :custom:`interpreted` and :special:`interpreted`
29 <document source="test data">
31 <inline classes="custom">
34 <inline classes="special">
43 :custom:`interpreted` and :special:`interpreted`
46 <document source="test data">
48 <inline classes="custom-class">
51 <inline classes="special-class">
55 Must define :custom:`interpreted` before using it.
59 Now that it's defined, :custom:`interpreted` works.
62 <document source="test data">
65 <problematic ids="id2" refid="id1">
68 <system_message level="1" line="1" source="test data" type="INFO">
70 No role entry for "custom" in module "docutils.parsers.rst.languages.en".
71 Trying "custom" as canonical role name.
72 <system_message backrefs="id2" ids="id1" level="3" line="1" source="test data" type="ERROR">
74 Unknown interpreted text role "custom".
76 Now that it's defined, \n\
77 <inline classes="custom">
82 .. role:: custom(emphasis)
87 <document source="test data">
89 <emphasis classes="custom">
93 .. role:: custom ( emphasis )
98 <document source="test data">
100 <emphasis classes="custom">
104 .. role:: custom(emphasis)
110 <document source="test data">
112 <emphasis classes="special">
116 .. role:: custom(unknown-role)
119 <document source="test data">
120 <system_message level="1" line="1" source="test data" type="INFO">
122 No role entry for "unknown-role" in module "docutils.parsers.rst.languages.en".
123 Trying "unknown-role" as canonical role name.
124 <system_message level="3" line="1" source="test data" type="ERROR">
126 Unknown interpreted text role "unknown-role".
127 <literal_block xml:space="preserve">
128 .. role:: custom(unknown-role)
135 <document source="test data">
136 <system_message level="3" line="1" source="test data" type="ERROR">
138 Error in "role" directive:
139 invalid option value: (option: "class"; value: '1')
140 cannot make "1" into a class name.
141 <literal_block xml:space="preserve">
149 <document source="test data">
150 <system_message level="3" line="1" source="test data" type="ERROR">
152 Invalid argument for "role" directive:
153 cannot make "1" into a class name.
154 <literal_block xml:space="preserve">
161 <document source="test data">
162 <system_message level="3" line="1" source="test data" type="ERROR">
164 "role" directive arguments not valid role names: "(error)".
165 <literal_block xml:space="preserve">
172 <document source="test data">
173 <system_message level="3" line="1" source="test data" type="ERROR">
175 "role" directive requires arguments on the first line.
176 <literal_block xml:space="preserve">
183 .. role:: fileref(emphasis)
185 Testing a :fileref:`role` in a nested parse.
188 <document source="test data">
189 <section ids="test" names="test">
194 <emphasis classes="fileref">
202 Empty :custom:`\ ` and empty `\ `:special:
205 <document source="test data">
208 <inline classes="custom">
210 <inline classes="special">
214 totest
['raw_role'] = [
219 Here's some :html:`<i>raw HTML data</i>`.
222 <document source="test data">
225 <raw classes="html" format="html" xml:space="preserve">
233 Here's some itex markup: :itex:`$x^\\infty$`.
236 <document source="test data">
238 Here's some itex markup: \n\
239 <raw classes="itex" format="latex html" xml:space="preserve">
244 Can't use the :raw:`role` directly.
247 <document source="test data">
250 <problematic ids="id2" refid="id1">
253 <system_message backrefs="id2" ids="id1" level="3" line="1" source="test data" type="ERROR">
255 No format (Writer name) is associated with this role: "raw".
256 The "raw" role cannot be used directly.
257 Instead, use the "role" directive to create a new role with an associated format.
262 if __name__
== '__main__':
264 unittest
.main(defaultTest
='suite')