Website: add template and basic stylesheet with menu. Update buildhtml.py (and theref...
[docutils.git] / sandbox / gitpull / web_stylesheet_and_menu / test / test_parsers / test_rst / test_directives / test_meta.py
blobac74827134fc1a7675ac246871fe18be509006c9
1 #! /usr/bin/env python
3 # $Id$
4 # Author: David Goodger <goodger@python.org>
5 # Copyright: This module has been placed in the public domain.
7 """
8 Tests for html meta directives.
9 """
11 from __init__ import DocutilsTestSupport
13 def suite():
14 s = DocutilsTestSupport.ParserTestSuite()
15 s.generateTests(totest)
16 return s
18 totest = {}
20 totest['meta'] = [
21 ["""\
22 .. meta::
23 :description: The reStructuredText plaintext markup language
24 :keywords: plaintext,markup language
25 """,
26 """\
27 <document source="test data">
28 <pending>
29 .. internal attributes:
30 .transform: docutils.transforms.components.Filter
31 .details:
32 component: 'writer'
33 format: 'html'
34 nodes:
35 <meta content="The reStructuredText plaintext markup language" name="description">
36 <pending>
37 .. internal attributes:
38 .transform: docutils.transforms.components.Filter
39 .details:
40 component: 'writer'
41 format: 'html'
42 nodes:
43 <meta content="plaintext,markup language" name="keywords">
44 """],
45 ["""\
46 .. meta::
47 :description lang=en: An amusing story
48 :description lang=fr: Un histoire amusant
49 """,
50 """\
51 <document source="test data">
52 <pending>
53 .. internal attributes:
54 .transform: docutils.transforms.components.Filter
55 .details:
56 component: 'writer'
57 format: 'html'
58 nodes:
59 <meta content="An amusing story" lang="en" name="description">
60 <pending>
61 .. internal attributes:
62 .transform: docutils.transforms.components.Filter
63 .details:
64 component: 'writer'
65 format: 'html'
66 nodes:
67 <meta content="Un histoire amusant" lang="fr" name="description">
68 """],
69 ["""\
70 .. meta::
71 :http-equiv=Content-Type: text/html; charset=ISO-8859-1
72 """,
73 """\
74 <document source="test data">
75 <pending>
76 .. internal attributes:
77 .transform: docutils.transforms.components.Filter
78 .details:
79 component: 'writer'
80 format: 'html'
81 nodes:
82 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
83 """],
84 ["""\
85 .. meta::
86 :name: content
87 over multiple lines
88 """,
89 """\
90 <document source="test data">
91 <pending>
92 .. internal attributes:
93 .transform: docutils.transforms.components.Filter
94 .details:
95 component: 'writer'
96 format: 'html'
97 nodes:
98 <meta content="content over multiple lines" name="name">
99 """],
100 ["""\
101 Paragraph
103 .. meta::
104 :name: content
105 """,
106 """\
107 <document source="test data">
108 <paragraph>
109 Paragraph
110 <pending>
111 .. internal attributes:
112 .transform: docutils.transforms.components.Filter
113 .details:
114 component: 'writer'
115 format: 'html'
116 nodes:
117 <meta content="content" name="name">
118 """],
119 ["""\
120 .. meta::
121 """,
122 """\
123 <document source="test data">
124 <system_message level="3" line="1" source="test data" type="ERROR">
125 <paragraph>
126 Content block expected for the "meta" directive; none found.
127 <literal_block xml:space="preserve">
128 .. meta::
129 """],
130 ["""\
131 .. meta::
132 :empty:
133 """,
134 """\
135 <document source="test data">
136 <system_message level="1" line="2" source="test data" type="INFO">
137 <paragraph>
138 No content for meta tag "empty".
139 <literal_block xml:space="preserve">
140 :empty:
141 """],
142 ["""\
143 .. meta::
144 not a field list
145 """,
146 """\
147 <document source="test data">
148 <system_message level="3" line="1" source="test data" type="ERROR">
149 <paragraph>
150 Invalid meta directive.
151 <literal_block xml:space="preserve">
152 .. meta::
153 not a field list
154 """],
155 ["""\
156 .. meta::
157 :name: content
158 not a field
159 :name: content
160 """,
161 """\
162 <document source="test data">
163 <pending>
164 .. internal attributes:
165 .transform: docutils.transforms.components.Filter
166 .details:
167 component: 'writer'
168 format: 'html'
169 nodes:
170 <meta content="content" name="name">
171 <system_message level="3" line="1" source="test data" type="ERROR">
172 <paragraph>
173 Invalid meta directive.
174 <literal_block xml:space="preserve">
175 .. meta::
176 :name: content
177 not a field
178 :name: content
179 """],
180 ["""\
181 .. meta::
182 :name: content
183 :name: content
184 not a field
185 """,
186 """\
187 <document source="test data">
188 <pending>
189 .. internal attributes:
190 .transform: docutils.transforms.components.Filter
191 .details:
192 component: 'writer'
193 format: 'html'
194 nodes:
195 <meta content="content" name="name">
196 <pending>
197 .. internal attributes:
198 .transform: docutils.transforms.components.Filter
199 .details:
200 component: 'writer'
201 format: 'html'
202 nodes:
203 <meta content="content" name="name">
204 <system_message level="3" line="1" source="test data" type="ERROR">
205 <paragraph>
206 Invalid meta directive.
207 <literal_block xml:space="preserve">
208 .. meta::
209 :name: content
210 :name: content
211 not a field
212 """],
213 ["""\
214 .. meta::
215 :name notattval: content
216 """,
217 """\
218 <document source="test data">
219 <system_message level="3" line="2" source="test data" type="ERROR">
220 <paragraph>
221 Error parsing meta tag attribute "notattval": missing "=".
222 <literal_block xml:space="preserve">
223 :name notattval: content
224 """],
228 if __name__ == '__main__':
229 import unittest
230 unittest.main(defaultTest='suite')