Add regression test case for bug 554
[lhc/web/wiklou.git] / maintenance / parserTests.txt
1 # MediaWiki Parser test cases
2 # see also http://meta.wikimedia.org/wiki/Parser_testing
3
4 !! test
5 Blank input
6 !! input
7 !! result
8 !! end
9
10 !! test
11 Simple paragraph
12 !! input
13 This is a simple paragraph.
14 !! result
15 <p>This is a simple paragraph.
16 </p>
17 !! end
18
19 !! test
20 Simple list
21 !! input
22 * Item 1
23 * Item 2
24 !! result
25 <ul><li> Item 1
26 </li><li> Item 2
27 </li></ul>
28 !! end
29
30 !! test
31 Italics and bold
32 !! input
33 * plain
34 * plain''italic''plain
35 * plain''italic''plain''italic''plain
36 * plain'''bold'''plain
37 * plain'''bold'''plain'''bold'''plain
38 * plain''italic''plain'''bold'''plain
39 * plain'''bold'''plain''italic''plain
40 * plain''italic'''bold-italic'''italic''plain
41 * plain'''bold''bold-italic''bold'''plain
42 * plain'''''bold-italic'''italic''plain
43 * plain'''''bold-italic''bold'''plain
44 * plain''italic'''bold-italic'''''plain
45 * plain'''bold''bold-italic'''''plain
46 * plain l'''italic''plain
47 !! result
48 <ul><li> plain
49 </li><li> plain<i>italic</i>plain
50 </li><li> plain<i>italic</i>plain<i>italic</i>plain
51 </li><li> plain<b>bold</b>plain
52 </li><li> plain<b>bold</b>plain<b>bold</b>plain
53 </li><li> plain<i>italic</i>plain<b>bold</b>plain
54 </li><li> plain<b>bold</b>plain<i>italic</i>plain
55 </li><li> plain<i>italic<b>bold-italic</b>italic</i>plain
56 </li><li> plain<b>bold<i>bold-italic</i>bold</b>plain
57 </li><li> plain<i><b>bold-italic</b>italic</i>plain
58 </li><li> plain<b><i>bold-italic</i>bold</b>plain
59 </li><li> plain<i>italic<b>bold-italic</b></i>plain
60 </li><li> plain<b>bold<i>bold-italic</i></b>plain
61 </li><li> plain l'<i>italic</i>plain
62 </li></ul>
63 !! end
64
65 ###
66 ### <nowiki> test cases
67 ###
68
69 !! test
70 <nowiki> unordered list
71 !! input
72 <nowiki>* This is not an unordered list item.</nowiki>
73 !! result
74 <p>* This is not an unordered list item.
75 </p>
76 !! end
77
78 !! test
79 <nowiki> spacing
80 !! input
81 <nowiki>Lorem ipsum dolor
82
83 sed abit.
84 sed nullum.
85
86 :and a colon
87 </nowiki>
88 !! result
89 <p>Lorem ipsum dolor
90
91 sed abit.
92 sed nullum.
93
94 :and a colon
95
96 </p>
97 !! end
98
99 !! test
100 nowiki 3
101 !! input
102 :There is not nowiki.
103 :There is <nowiki>nowiki</nowiki>.
104
105 #There is not nowiki.
106 #There is <nowiki>nowiki</nowiki>.
107
108 *There is not nowiki.
109 *There is <nowiki>nowiki</nowiki>.
110 !! result
111 <dl><dd>There is not nowiki.
112 </dd><dd>There is nowiki.
113 </dd></dl>
114 <ol><li>There is not nowiki.
115 </li><li>There is nowiki.
116 </li></ol>
117 <ul><li>There is not nowiki.
118 </li><li>There is nowiki.
119 </li></ul>
120 !! end
121
122 ###
123 ### comment test cases
124 ###
125 !! test
126 comment test 1
127 !! input
128 <!-- comment 1 --> asdf
129 <!-- comment 2 -->
130 !! result
131 <pre>asdf
132 </pre>
133 !! end
134
135 !! test
136 comment test 2
137 !! input
138 asdf
139 <!-- comment 1 -->
140 jkl
141 !! result
142 <p>asdf
143 jkl
144 </p>
145 !! end
146
147 !! test
148 comment test 3
149 !! input
150 asdf
151 <!-- comment 1 -->
152 <!-- comment 2 -->
153 jkl
154 !! result
155 <p>asdf
156 jkl
157 </p>
158 !! end
159
160 !! test
161 comment test 4
162 !! input
163 asdf<!-- comment 1 -->jkl
164 !! result
165 <p>asdfjkl
166 </p>
167 !! end
168
169 ###
170 ### External links
171 ###
172 !! test
173 External links: non-bracketed
174 !! input
175 Non-bracketed: http://example.com
176 !! result
177 <p>Non-bracketed: <a href="http://example.com" class='external'>http://example.com</a>
178 </p>
179 !! end
180
181 !! test
182 External links: numbered
183 !! input
184 Numbered: [http://example.com]
185 !! result
186 <p>Numbered: <a href="http://example.com" class='external' title="http://example.com">[1]</a><span class='urlexpansion'> (<i>http://example.com</i>)</span>
187 </p>
188 !!end
189
190 !! test
191 External links: specified text
192 !! input
193 Specified text: [http://example.com link]
194 !! result
195 <p>Specified text: <a href="http://example.com" class='external' title="http://example.com">link</a><span class='urlexpansion'> (<i>http://example.com</i>)</span>
196 </p>
197 !!end
198
199 !! test
200 External links: trail
201 !! input
202 Trail (not sure if this is meant to work): [http://example.com link]s
203 !! result
204 <p>Trail (not sure if this is meant to work): <a href="http://example.com" class='external' title="http://example.com">link</a>s<span class='urlexpansion'> (<i>http://example.com</i>)</span>
205 </p>
206 !! end
207
208 !! test
209 External links: dollar sign in URL
210 !! input
211 http://example.com/1$2345
212 !! result
213 <p><a href="http://example.com/1$2345" class='external'>http://example.com/1$2345</a>
214 </p>
215 !! end
216
217 !! test
218 External links: dollar sign in URL (named)
219 !! input
220 [http://example.com/1$2345]
221 !! result
222 <p><a href="http://example.com/1$2345" class='external' title="http://example.com/1$2345">[1]</a><span class='urlexpansion'> (<i>http://example.com/1$2345</i>)</span>
223 </p>
224 !!end
225
226 !! test
227 External image
228 !! input
229 External image: http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png
230 !! result
231 <p>External image: <img src="http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" />
232 </p>
233 !! end
234
235 !! test
236 External image from https
237 !! input
238 External image from https: https://meta.wikimedia.org/upload/f/f1/Ncwikicol.png
239 !! result
240 <p>External image from https: <img src="https://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" />
241 </p>
242 !! end
243
244 !! test
245 Link to non-http image, no img tag
246 !! input
247 Link to non-http image, no img tag: ftp://example.com/test.jpg
248 !! result
249 <p>Link to non-http image, no img tag: <a href="ftp://example.com/test.jpg" class='external'>ftp://example.com/test.jpg</a>
250 </p>
251 !! end
252
253 !! test
254 External links: terminating separator
255 !! input
256 Terminating separator: http://example.com/thing,
257 !! result
258 <p>Terminating separator: <a href="http://example.com/thing" class='external'>http://example.com/thing</a>,
259 </p>
260 !! end
261
262 !! test
263 External links: intervening separator
264 !! input
265 Intervening separator: http://example.com/1,2,3
266 !! result
267 <p>Intervening separator: <a href="http://example.com/1,2,3" class='external'>http://example.com/1,2,3</a>
268 </p>
269 !! end
270
271 !! test
272 External links: old bug with URL in query
273 !! input
274 Old bug with URL in query: [http://example.com/thing?url=http://example.com link]
275 !! result
276 <p>Old bug with URL in query: <a href="http://example.com/thing?url=http://example.com" class='external' title="http://example.com/thing?url=http://example.com">link</a><span class='urlexpansion'> (<i>http://example.com/thing?url=http://example.com</i>)</span>
277 </p>
278 !! end
279
280 !! test
281 External links: old URL-in-URL bug, mixed protocols
282 !! input
283 And again with mixed protocols: [ftp://example.com?url=http://example.com link]
284 !! result
285 <p>And again with mixed protocols: <a href="ftp://example.com?url=http://example.com" class='external' title="ftp://example.com?url=http://example.com">link</a><span class='urlexpansion'> (<i>ftp://example.com?url=http://example.com</i>)</span>
286 </p>
287 !!end
288
289 !! test
290 External links: URL in text
291 !! input
292 URL in text: [http://example.com http://example.com]
293 !! result
294 <p>URL in text: <a href="http://example.com" class='external'>http://example.com</a>
295 </p>
296 !! end
297
298 !! test
299 External links: Clickable images
300 !! input
301 ja-style clickable images: [http://example.com http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png]
302 !! result
303 <p>ja-style clickable images: <a href="http://example.com" class='external' title="http://example.com"><img src="http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" /></a><span class='urlexpansion'> (<i>http://example.com</i>)</span>
304 </p>
305 !!end
306
307 !! test
308 External links: raw ampersand
309 !! input
310 Old &amp; use: http://x&y
311 !! result
312 <p>Old &amp; use: <a href="http://x&amp;y" class='external'>http://x&amp;y</a>
313 </p>
314 !! end
315
316 !! test
317 External links: www.jpeg.org (bug 554)
318 !! input
319 http://www.jpeg.org
320 !!result
321 <p><a href="http://www.jpeg.org" class='external'>http://www.jpeg.org</a>
322 </p>
323 !! end
324
325 ###
326 ### Quotes
327 ###
328
329 !! test
330 Quotes
331 !! input
332 Normal text. '''Bold text.''' Normal text. ''Italic text.''
333
334 Normal text. '''''Bold italic text.''''' Normal text.
335 !!result
336 <p>Normal text. <b>Bold text.</b> Normal text. <i>Italic text.</i>
337 </p><p>Normal text. <i><b>Bold italic text.</b></i> Normal text.
338 </p>
339 !! end
340
341
342 !! test
343 Unclosed and unmatched quotes
344 !! input
345 '''''Bold italic text '''with bold deactivated''' in between.'''''
346
347 '''''Bold italic text ''with italic deactivated'' in between.'''''
348
349 '''Bold text..
350
351 ..spanning two paragraphs (should not work).'''
352
353 '''Bold tag left open
354
355 ''Italic tag left open
356
357 Normal text.
358
359 <!-- Unmatching number of opening, closing tags: -->
360 '''This year''''s election ''should'' beat '''last year''''s.
361
362 ''Tom'''s car is bigger than ''Susan'''s.
363 !! result
364 <p><i><b>Bold italic text </b>with bold deactivated<b> in between.</b></i>
365 </p><p><b><i>Bold italic text </i>with italic deactivated<i> in between.</i></b>
366 </p><p><b>Bold text..</b>
367 </p><p>..spanning two paragraphs (should not work).<b></b>
368 </p><p><b>Bold tag left open</b>
369 </p><p><i>Italic tag left open</i>
370 </p><p>Normal text.
371 </p><p><b>This year'</b>s election <i>should</i> beat <b>last year'</b>s.
372 </p><p><i>Tom<b>s car is bigger than </b></i><b>Susan</b>s.
373 </p>
374 !! end
375
376 ###
377 ### Internal links
378 ###
379 !! test
380 Internal links
381 !! input
382 Plain link, capitalized: [[Main Page]]
383
384 Plain link, uncapitalized: [[main Page]]
385 !! result
386 <p>Plain link, capitalized: <a href="/wiki/Main_Page" title="Main Page">Main Page</a>
387 </p><p>Plain link, uncapitalized: <a href="/wiki/Main_Page" title="Main Page">main Page</a>
388 </p>
389 !! end
390
391 !! test
392 Internal links 2
393 !! disabled
394 !!input
395
396 Piped link: [[Main Page|The Main Page]]
397
398 Broken link: [[Zigzagzogzagzig]]
399
400 Link with prefix: XXX[[main Page]], XXX[[Main Page]]
401
402 Link with suffix: [[Main Page]]XXX
403
404 Link with 3 brackets: [[[main page]]]
405
406 Piped link with 3 brackets: [[[main page|the main page]]]
407
408 Link to namespaces: [[Talk:Parser testing]], [[Meta:Disclaimers]]
409
410 Piped link to namespace: [[Meta:Disclaimers|The disclaimers]]
411
412 Link to category: [[:Category:MediaWiki User's Guide]]
413
414 Link to image page: [[:Image:Ncwikicol.png]]
415
416 Plain link to URL: [[http://www.example.org]]
417
418 Piped link to URL: [[http://www.example.org|an example URL]]
419 !! result
420 </p><p>Piped link: <a href="/wiki/Main_Page">The Main Page</a></p>
421 <p>Broken link: <a href="/w/wiki.phtml?title=Zigzagzogzagzig&action=edit" class="new">Zigzagzogzagzig</a></p>
422 <p>Link with prefix: xxx<a href="/wiki/Main_Page">main Page</a>, xxx<a href="/wiki/Main_Page">Main Page</a>, Xxx<a href=
423 "/wiki/Main_Page">main Page</a> XXX<a href="/wiki/Main_Page">main Page</a>, XXX<a href="/wiki/Main_Page">Main Page</a></p>
424 <p>Link with suffix: <a href="/wiki/Main_Page">Main Pagexxx</a>, <a href="/wiki/Main_Page">Main Page</a>XXX</p>
425 <p>Link with 3 brackets: [[[main page]]]</p>
426 <p>Piped link with 3 brackets: [[[main page|the main page]]]</p>
427 <p>Link to namespaces: <a href="/w/wiki.phtml?title=Talk:Parser_testing&action=edit" class="new">Talk:Parser testing</a>,
428 <a href="/w/wiki.phtml?title=Meta:Disclaimers&action=edit" class="new">Meta:Disclaimers</a></p>
429 <p>Piped link to namespace: <a href="/w/wiki.phtml?title=Meta:Disclaimers&action=edit" class="new">The disclaimers</a></p>
430 <p>Link to category: <a href="/wiki/Category:MediaWiki_User%27s_Guide">Category:MediaWiki User's Guide</a></p>
431 <p>Link to image page: <a href="/wiki/Image:Ncwikicol.png">Image:Ncwikicol.png</a></p>
432 <p>Plain link to URL: [<a href='http://www.example.org' class='external'>[1]</a> <span class=
433 'urlexpansion'>(<i>http://www.example.org</i>)</span>]</p>
434 <p>Piped link to URL: <a href="/w/wiki.phtml?title=Http://www.example.org&action=edit" class="new">an example URL</a></p>
435 !! end