mediawiki-extensions-Cite/citeParserTests.txt

245 lines
7 KiB
Plaintext

# Force the test runner to ensure the extension is loaded
!! hooks
ref
references
!! endhooks
!! test
Simple <ref>, no <references/>
!! input
Wikipedia rocks!<ref>Proceeds of Rockology, vol. XXI</ref>
!! result
<p>Wikipedia rocks!<sup id="_ref-0" class="reference"><a href="#_note-0" title="">[1]</a></sup>
</p>
!! end
!! test
Simple <ref>, with <references/>
!! input
Wikipedia rocks!<ref>Proceeds of Rockology, vol. XXI</ref>
<references/>
!! result
<p>Wikipedia rocks!<sup id="_ref-0" class="reference"><a href="#_note-0" title="">[1]</a></sup>
</p>
<ol class="references"><li id="_note-0"><a href="#_ref-0" title="">↑</a> Proceeds of Rockology, vol. XXI</li></ol>
!! end
!! article
Template:Simple template
!! text
A ''simple'' template.
!! endarticle
!! test
<ref> with a simple template
!! input
Templating<ref>{{simple template}}</ref>
<references/>
!! result
<p>Templating<sup id="_ref-0" class="reference"><a href="#_note-0" title="">[1]</a></sup>
</p>
<ol class="references"><li id="_note-0"><a href="#_ref-0" title="">↑</a> A <i>simple</i> template.</li></ol>
!! end
!! test
<ref> with a <nowiki>
!! input
Templating<ref><nowiki>{{simple template}}</nowiki></ref>
<references/>
!! result
<p>Templating<sup id="_ref-0" class="reference"><a href="#_note-0" title="">[1]</a></sup>
</p>
<ol class="references"><li id="_note-0"><a href="#_ref-0" title="">↑</a> {{simple template}}</li></ol>
!! end
!! test
<ref> in a <nowiki>
!! input
Templating<nowiki><ref>{{simple template}}</ref></nowiki>
<references/>
!! result
<p>Templating&lt;ref&gt;{{simple template}}&lt;/ref&gt;
</p><p><br />
</p>
!! end
!! test
<ref> in a <!--comment-->
!! input
Templating<!--<ref>{{simple template}}</ref>-->
<references/>
!! result
<p>Templating
</p><p><br />
</p>
!! end
!! test
<!--comment--> in a <ref> (bug 5384)
!! input
Templating<ref>Text<!--comment--></ref>
<references/>
!! result
<p>Templating<sup id="_ref-0" class="reference"><a href="#_note-0" title="">[1]</a></sup>
</p>
<ol class="references"><li id="_note-0"><a href="#_ref-0" title="">↑</a> Text</li></ol>
!! end
!! test
<references> after <gallery> (bug 6164)
!! input
<ref>one</ref>
<gallery>Image:Foobar.jpg</gallery>
<references/>
!! result
<p><sup id="_ref-0" class="reference"><a href="#_note-0" title="">[1]</a></sup>
</p>
<table class="gallery" cellspacing="0" cellpadding="0">
<tr>
<td><div class="gallerybox" style="width: 155px;">
<div class="thumb" style="padding: 66px 0; width: 150px;"><div style="margin-left: auto; margin-right: auto; width: 120px;"><a href="/wiki/Image:Foobar.jpg" class="image" title="Foobar.jpg"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" border="0" /></a></div></div>
<div class="gallerytext">
</div>
</div></td>
</tr>
</table>
<ol class="references"><li id="_note-0"><a href="#_ref-0" title="">↑</a> one</li></ol>
!! end
!! test
{{REVISIONID}} on page with <ref> (bug 6299)
!! input
{{REVISIONID}}<ref>elite</ref>
!! result
<p>1337<sup id="_ref-0" class="reference"><a href="#_note-0" title="">[1]</a></sup>
</p>
!! end
!! test
{{REVISIONID}} on page without <ref> (bug 6299 sanity check)
!! input
{{REVISIONID}}
!! result
<p>1337
</p>
!! end
!! test
Blank ref followed by ref with content
!! input
<ref name="blank"/>
<ref name="blank">content</ref>
<references/>
!! result
<p><sup id="_ref-blank_0" class="reference"><a href="#_note-blank" title="">[1]</a></sup>
</p><p><sup id="_ref-blank_1" class="reference"><a href="#_note-blank" title="">[1]</a></sup>
</p>
<ol class="references"><li id="_note-blank">↑ <sup><a href="#_ref-blank_0" title="">1.0</a></sup> <sup><a href="#_ref-blank_1" title="">1.1</a></sup> content</li></ol>
!! end
!! test
Regression: non-blank ref "0" followed by ref with content
!! input
<ref name="blank">0</ref>
<ref name="blank">content</ref>
<references/>
!! result
<p><sup id="_ref-blank_0" class="reference"><a href="#_note-blank" title="">[1]</a></sup>
</p><p><sup id="_ref-blank_1" class="reference"><a href="#_note-blank" title="">[1]</a></sup>
</p>
<ol class="references"><li id="_note-blank">↑ <sup><a href="#_ref-blank_0" title="">1.0</a></sup> <sup><a href="#_ref-blank_1" title="">1.1</a></sup> 0</li></ol>
!! end
!! test
Regression sanity check: non-blank ref "1" followed by ref with content
!! input
<ref name="blank">1</ref>
<ref name="blank">content</ref>
<references/>
!! result
<p><sup id="_ref-blank_0" class="reference"><a href="#_note-blank" title="">[1]</a></sup>
</p><p><sup id="_ref-blank_1" class="reference"><a href="#_note-blank" title="">[1]</a></sup>
</p>
<ol class="references"><li id="_note-blank">↑ <sup><a href="#_ref-blank_0" title="">1.0</a></sup> <sup><a href="#_ref-blank_1" title="">1.1</a></sup> 1</li></ol>
!! end
!! test
Ref names containing a number
!! input
<ref name="test123test">One</ref>
<ref name="123test">Two</ref>
<ref name="test123">Three</ref>
<references />
!! result
<p><sup id="_ref-test123test_0" class="reference"><a href="#_note-test123test" title="">[1]</a></sup>
<sup id="_ref-123test_0" class="reference"><a href="#_note-123test" title="">[2]</a></sup>
<sup id="_ref-test123_0" class="reference"><a href="#_note-test123" title="">[3]</a></sup>
</p>
<ol class="references"><li id="_note-test123test"><a href="#_ref-test123test_0" title="">↑</a> One</li>
<li id="_note-123test"><a href="#_ref-123test_0" title="">↑</a> Two</li>
<li id="_note-test123"><a href="#_ref-test123_0" title="">↑</a> Three</li></ol>
!! end
!! test
Erroneous refs
!! input
<ref name="0">Zero</ref>
<ref>Also zero, but differently! (Normal ref)</ref>
<ref />
<ref name="foo" name="bar" />
<ref name="blankwithnoreference" />
<references>I'm a references with something to say!</references>
<references name="quasit" />
<references />
!! result
<p><strong class="error">Cite error: Invalid <code>&lt;ref&gt;</code> tag; name cannot be a simple integer, use a descriptive title</strong>
</p><p><sup id="_ref-0" class="reference"><a href="#_note-0" title="">[1]</a></sup>
</p><p><strong class="error">Cite error: Invalid <code>&lt;ref&gt;</code> tag; refs with no content must have a name</strong>
</p><p><sup id="_ref-bar_0" class="reference"><a href="#_note-bar" title="">[2]</a></sup>
</p><p><sup id="_ref-blankwithnoreference_0" class="reference"><a href="#_note-blankwithnoreference" title="">[3]</a></sup>
</p><p><strong class="error">Cite error: Invalid <code>&lt;references&gt;</code> tag; no input is allowed, use
<code>&lt;references /&gt;</code></strong>
</p><p><strong class="error">Cite error: Invalid <code>&lt;references&gt;</code> tag; no parameters are allowed, use <code>&lt;references /&gt;</code></strong>
</p>
<ol class="references"><li id="_note-0"><a href="#_ref-0" title="">↑</a> Also zero, but differently! (Normal ref)</li>
<li id="_note-bar"><a href="#_ref-bar_0" title="">↑</a> <strong class="error">Cite error: No text given.</strong></li>
<li id="_note-blankwithnoreference"><a href="#_ref-blankwithnoreference_0" title="">↑</a> <strong class="error">Cite error: No text given.</strong></li></ol>
!! end