mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Cite
synced 2024-11-24 06:54:00 +00:00
4933d7a682
The [[MediaWiki:Cite error refs without references]] message does not correctly display wikilinks. This is because it takes effect during ParserBeforeTidy, which misses the call to replaceLinkHolders(). And parsing directly to HTML (with MessageCache::singleton()->parse()) would lose categories and such added by the error message. Gerrit change Iaa2755f994edb081eb1d176f632f7add41640dbf adds a "ParserAfterParse" hook, which can be used to add this message in time to be correctly handled by replaceLinkHolders(). Change-Id: I093d85d8f8c2ac3238609d145ae5b985602bb3fd Depends-On: Iaa2755f994edb081eb1d176f632f7add41640dbf
392 lines
13 KiB
Plaintext
392 lines
13 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="cite_ref-0" class="reference"><a href="#cite_note-0">[1]</a></sup>
|
|
<br /><strong class="error">Cite error: <code><ref></code> tags exist, but no <code><references/></code> tag was found</strong>
|
|
</p>
|
|
!! end
|
|
|
|
!! test
|
|
Simple <ref>, with <references/>
|
|
!! input
|
|
Wikipedia rocks!<ref>Proceeds of Rockology, vol. XXI</ref>
|
|
|
|
<references/>
|
|
!! result
|
|
<p>Wikipedia rocks!<sup id="cite_ref-0" class="reference"><a href="#cite_note-0">[1]</a></sup>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-0"><span class="mw-cite-backlink"><a href="#cite_ref-0">↑</a></span> <span class="reference-text">Proceeds of Rockology, vol. XXI</span>
|
|
</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="cite_ref-0" class="reference"><a href="#cite_note-0">[1]</a></sup>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-0"><span class="mw-cite-backlink"><a href="#cite_ref-0">↑</a></span> <span class="reference-text">A <i>simple</i> template.</span>
|
|
</li></ol>
|
|
|
|
!! end
|
|
|
|
!! test
|
|
<ref> with a <nowiki>
|
|
!! input
|
|
Templating<ref><nowiki>{{simple template}}</nowiki></ref>
|
|
|
|
<references/>
|
|
!! result
|
|
<p>Templating<sup id="cite_ref-0" class="reference"><a href="#cite_note-0">[1]</a></sup>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-0"><span class="mw-cite-backlink"><a href="#cite_ref-0">↑</a></span> <span class="reference-text">{{simple template}}</span>
|
|
</li></ol>
|
|
|
|
!! end
|
|
|
|
|
|
!! test
|
|
<ref> in a <nowiki>
|
|
!! input
|
|
Templating<nowiki><ref>{{simple template}}</ref></nowiki>
|
|
|
|
<references/>
|
|
!! result
|
|
<p>Templating<ref>{{simple template}}</ref>
|
|
</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="cite_ref-0" class="reference"><a href="#cite_note-0">[1]</a></sup>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-0"><span class="mw-cite-backlink"><a href="#cite_ref-0">↑</a></span> <span class="reference-text">Text</span>
|
|
</li></ol>
|
|
|
|
!! end
|
|
|
|
!! test
|
|
<references> after <gallery> (bug 6164)
|
|
!! input
|
|
<ref>one</ref>
|
|
|
|
<gallery>Image:Foobar.jpg</gallery>
|
|
|
|
<references/>
|
|
!! result
|
|
<p><sup id="cite_ref-0" class="reference"><a href="#cite_note-0">[1]</a></sup>
|
|
</p>
|
|
<ul class="gallery">
|
|
<li class="gallerybox" style="width: 155px"><div style="width: 155px">
|
|
<div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="120" height="14" /></a></div></div>
|
|
<div class="gallerytext">
|
|
</div>
|
|
</div></li>
|
|
</ul>
|
|
<ol class="references"><li id="cite_note-0"><span class="mw-cite-backlink"><a href="#cite_ref-0">↑</a></span> <span class="reference-text">one</span>
|
|
</li></ol>
|
|
|
|
!! end
|
|
|
|
!! test
|
|
{{REVISIONID}} on page with <ref> (bug 6299)
|
|
!! input
|
|
{{REVISIONID}}<ref>elite</ref>
|
|
!! result
|
|
<p>1337<sup id="cite_ref-0" class="reference"><a href="#cite_note-0">[1]</a></sup>
|
|
<br /><strong class="error">Cite error: <code><ref></code> tags exist, but no <code><references/></code> tag was found</strong>
|
|
</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="cite_ref-blank_0-0" class="reference"><a href="#cite_note-blank-0">[1]</a></sup>
|
|
</p><p><sup id="cite_ref-blank_0-1" class="reference"><a href="#cite_note-blank-0">[1]</a></sup>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-blank-0"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-blank_0-0">1.0</a></sup> <sup><a href="#cite_ref-blank_0-1">1.1</a></sup></span> <span class="reference-text">content</span>
|
|
</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="cite_ref-blank_0-0" class="reference"><a href="#cite_note-blank-0">[1]</a></sup>
|
|
</p><p><sup id="cite_ref-blank_0-1" class="reference"><a href="#cite_note-blank-0">[1]</a></sup>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-blank-0"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-blank_0-0">1.0</a></sup> <sup><a href="#cite_ref-blank_0-1">1.1</a></sup></span> <span class="reference-text">0</span>
|
|
</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="cite_ref-blank_0-0" class="reference"><a href="#cite_note-blank-0">[1]</a></sup>
|
|
</p><p><sup id="cite_ref-blank_0-1" class="reference"><a href="#cite_note-blank-0">[1]</a></sup>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-blank-0"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-blank_0-0">1.0</a></sup> <sup><a href="#cite_ref-blank_0-1">1.1</a></sup></span> <span class="reference-text">1</span>
|
|
</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="cite_ref-test123test_0-0" class="reference"><a href="#cite_note-test123test-0">[1]</a></sup>
|
|
<sup id="cite_ref-123test_1-0" class="reference"><a href="#cite_note-123test-1">[2]</a></sup>
|
|
<sup id="cite_ref-test123_2-0" class="reference"><a href="#cite_note-test123-2">[3]</a></sup>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-test123test-0"><span class="mw-cite-backlink"><a href="#cite_ref-test123test_0-0">↑</a></span> <span class="reference-text">One</span>
|
|
</li>
|
|
<li id="cite_note-123test-1"><span class="mw-cite-backlink"><a href="#cite_ref-123test_1-0">↑</a></span> <span class="reference-text">Two</span>
|
|
</li>
|
|
<li id="cite_note-test123-2"><span class="mw-cite-backlink"><a href="#cite_ref-test123_2-0">↑</a></span> <span class="reference-text">Three</span>
|
|
</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 name="quasit" />
|
|
|
|
<references />
|
|
!! result
|
|
<p><strong class="error">Cite error: Invalid <code><ref></code> tag;
|
|
name cannot be a simple integer. Use a descriptive title</strong>
|
|
</p><p><sup id="cite_ref-0" class="reference"><a href="#cite_note-0">[1]</a></sup>
|
|
</p><p><strong class="error">Cite error: Invalid <code><ref></code> tag;
|
|
refs with no content must have a name</strong>
|
|
</p><p><sup id="cite_ref-bar_1-0" class="reference"><a href="#cite_note-bar-1">[2]</a></sup>
|
|
</p><p><sup id="cite_ref-blankwithnoreference_2-0" class="reference"><a href="#cite_note-blankwithnoreference-2">[3]</a></sup>
|
|
</p><p><strong class="error">Cite error: Invalid <code><references></code> tag;
|
|
parameter "group" is allowed only.
|
|
Use <code><references /></code>, or <code><references group="..." /></code></strong>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-0"><span class="mw-cite-backlink"><a href="#cite_ref-0">↑</a></span> <span class="reference-text">Also zero, but differently! (Normal ref)</span>
|
|
</li>
|
|
<li id="cite_note-bar"><span class="mw-cite-backlink"><a href="#cite_ref-bar_0">↑</a></span> <strong class="error">Cite error: Invalid <code><ref></code> tag;
|
|
no text was provided for refs named <code>bar</code></strong></li>
|
|
<li id="cite_note-blankwithnoreference"><span class="mw-cite-backlink"><a href="#cite_ref-blankwithnoreference_0">↑</a></span> <strong class="error">Cite error: Invalid <code><ref></code> tag;
|
|
no text was provided for refs named <code>blankwithnoreference</code></strong></li></ol>
|
|
|
|
!! end
|
|
|
|
|
|
!! test
|
|
Simple <ref>, with <references/> in group
|
|
!! input
|
|
Wikipedia rocks!<ref>Proceeds of Rockology, vol. XXI</ref>
|
|
Wikipedia rocks!<ref group=note>Proceeds of Rockology, vol. XXI</ref>
|
|
|
|
<references/>
|
|
<references group=note/>
|
|
!! result
|
|
<p>Wikipedia rocks!<sup id="cite_ref-0" class="reference"><a href="#cite_note-0">[1]</a></sup>
|
|
Wikipedia rocks!<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[note 1]</a></sup>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-0"><span class="mw-cite-backlink"><a href="#cite_ref-0">↑</a></span> <span class="reference-text">Proceeds of Rockology, vol. XXI</span>
|
|
</li></ol>
|
|
<ol class="references"><li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">Proceeds of Rockology, vol. XXI</span>
|
|
</li></ol>
|
|
|
|
!! end
|
|
|
|
!! test
|
|
Simple <ref>, with <references/> in group, with groupname in chinese
|
|
!! input
|
|
AAA<ref group="参">ref a</ref>BBB<ref group="注">note b</ref>CCC<ref group="参">ref c</ref>
|
|
|
|
;refs
|
|
<references group="参" />
|
|
;notes
|
|
<references group="注" />
|
|
!! result
|
|
<p>AAA<sup id="cite_ref-0" class="reference"><a href="#cite_note-0">[参 1]</a></sup>BBB<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[注 1]</a></sup>CCC<sup id="cite_ref-2" class="reference"><a href="#cite_note-2">[参 2]</a></sup>
|
|
</p>
|
|
<dl><dt>refs
|
|
</dt></dl>
|
|
<ol class="references"><li id="cite_note-0"><span class="mw-cite-backlink"><a href="#cite_ref-0">↑</a></span> <span class="reference-text">ref a</span>
|
|
</li>
|
|
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text">ref c</span>
|
|
</li></ol>
|
|
<dl><dt>notes
|
|
</dt></dl>
|
|
<ol class="references"><li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">note b</span>
|
|
</li></ol>
|
|
|
|
!! end
|
|
|
|
!! test
|
|
<ref> defined in <references>
|
|
!! input
|
|
<ref name="foo"/>
|
|
|
|
<references>
|
|
<ref name="foo">BAR</ref>
|
|
</references>
|
|
!! result
|
|
<p><sup id="cite_ref-foo_0-0" class="reference"><a href="#cite_note-foo-0">[1]</a></sup>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-foo-0"><span class="mw-cite-backlink"><a href="#cite_ref-foo_0-0">↑</a></span> <span class="reference-text">BAR</span>
|
|
</li></ol>
|
|
|
|
!! end
|
|
|
|
!! test
|
|
<ref> defined in <references> called with #tag
|
|
!! input
|
|
<ref name="foo"/>
|
|
|
|
{{#tag:references|
|
|
<ref name="foo">BAR</ref>
|
|
}}
|
|
!! result
|
|
<p><sup id="cite_ref-foo_0-0" class="reference"><a href="#cite_note-foo-0">[1]</a></sup>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-foo-0"><span class="mw-cite-backlink"><a href="#cite_ref-foo_0-0">↑</a></span> <span class="reference-text">BAR</span>
|
|
</li></ol>
|
|
|
|
!! end
|
|
|
|
!! test
|
|
<ref> defined in <references> error conditions
|
|
!! input
|
|
<ref name="foo" group="2"/>
|
|
|
|
<references group="2">
|
|
<ref name="foo"/>
|
|
<ref name="unused">BAR</ref>
|
|
<ref name="foo" group="1">bad group</ref>
|
|
<ref>BAR BAR</ref>
|
|
</references>
|
|
!! result
|
|
<p><sup id="cite_ref-foo_0-0" class="reference"><a href="#cite_note-foo-0">[2 1]</a></sup>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-foo"><span class="mw-cite-backlink"><a href="#cite_ref-foo_0">↑</a></span> <strong class="error">Cite error: Invalid <code><ref></code> tag;
|
|
no text was provided for refs named <code>foo</code></strong></li></ol>
|
|
<p><strong class="error">Cite error: <code><ref></code> tag with name "unused" defined in <code><references></code> is not used in prior text.</strong><br />
|
|
<strong class="error">Cite error: <code><ref></code> tag in <code><references></code> has conflicting group attribute "1".</strong><br />
|
|
<strong class="error">Cite error: <code><ref></code> tag defined in <code><references></code> has no name attribute.</strong>
|
|
</p>
|
|
!! end
|
|
|
|
!! article
|
|
MediaWiki:cite_link_label_group-klingon
|
|
!! text
|
|
wa' cha' wej loS vagh jav Soch chorgh Hut wa'maH
|
|
!! endarticle
|
|
|
|
!! test
|
|
<ref> with custom group link
|
|
!! input
|
|
Wikipedia rocks!<ref group="klingon">Proceeds of Rockology, vol. XXI</ref>
|
|
|
|
<references group="klingon"/>
|
|
!! result
|
|
<p>Wikipedia rocks!<sup id="cite_ref-0" class="reference"><a href="#cite_note-0">[wa']</a></sup>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-0"><span class="mw-cite-backlink"><a href="#cite_ref-0">↑</a></span> <span class="reference-text">Proceeds of Rockology, vol. XXI</span>
|
|
</li></ol>
|
|
|
|
!! end
|
|
|
|
!! test
|
|
Bug 31374 regression check: nested strip items
|
|
!! input
|
|
{{#tag:ref|note<ref>reference</ref>|group=Note}}
|
|
<references group=Note />
|
|
<references />
|
|
!! result
|
|
<p><sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[Note 1]</a></sup>
|
|
</p>
|
|
<ol class="references"><li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">note<sup id="cite_ref-0" class="reference"><a href="#cite_note-0">[1]</a></sup></span>
|
|
</li></ol>
|
|
<ol class="references"><li id="cite_note-0"><span class="mw-cite-backlink"><a href="#cite_ref-0">↑</a></span> <span class="reference-text">reference</span>
|
|
</li></ol>
|
|
|
|
!! end
|