summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Cite/citeParserTests.txt
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/Cite/citeParserTests.txt')
-rw-r--r--www/wiki/extensions/Cite/citeParserTests.txt603
1 files changed, 603 insertions, 0 deletions
diff --git a/www/wiki/extensions/Cite/citeParserTests.txt b/www/wiki/extensions/Cite/citeParserTests.txt
new file mode 100644
index 00000000..e1d66d40
--- /dev/null
+++ b/www/wiki/extensions/Cite/citeParserTests.txt
@@ -0,0 +1,603 @@
+# 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
+Wikipedia rocks!<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">&#91;1&#93;</a></sup><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/>
+!! input
+Wikipedia rocks!<ref>Proceeds of Rockology, vol. XXI</ref>
+
+<references/>
+!! result
+<p>Wikipedia rocks!<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">&#91;1&#93;</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">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-1" class="reference"><a href="#cite_note-1">&#91;1&#93;</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">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-1" class="reference"><a href="#cite_note-1">&#91;1&#93;</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">{{simple template}}</span>
+</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="cite_ref-1" class="reference"><a href="#cite_note-1">&#91;1&#93;</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">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-1" class="reference"><a href="#cite_note-1">&#91;1&#93;</a></sup>
+</p>
+<ul class="gallery mw-gallery-traditional">
+ <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/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
+ <div class="gallerytext">
+ </div>
+ </div></li>
+</ul>
+<ol class="references">
+<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</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
+1337<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">&#91;1&#93;</a></sup><ol class="references">
+<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">elite</span>
+</li>
+</ol>
+
+!! end
+
+!! test
+{{REVISIONID}} on page without <ref> (bug 6299 sanity check)
+!! input
+{{REVISIONID}}
+!! result
+<p>1337
+</p>
+!! end
+
+!! test
+Ref with content followed by blank ref
+!! input
+<ref name="blank">content</ref>
+
+<ref name="blank"/>
+
+<references/>
+!! result
+<p><sup id="cite_ref-blank_1-0" class="reference"><a href="#cite_note-blank-1">&#91;1&#93;</a></sup>
+</p><p><sup id="cite_ref-blank_1-1" class="reference"><a href="#cite_note-blank-1">&#91;1&#93;</a></sup>
+</p>
+<ol class="references">
+<li id="cite_note-blank-1"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-blank_1-0">1.0</a></sup> <sup><a href="#cite_ref-blank_1-1">1.1</a></sup></span> <span class="reference-text">content</span>
+</li>
+</ol>
+
+!! 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_1-0" class="reference"><a href="#cite_note-blank-1">&#91;1&#93;</a></sup>
+</p><p><sup id="cite_ref-blank_1-1" class="reference"><a href="#cite_note-blank-1">&#91;1&#93;</a></sup>
+</p>
+<ol class="references">
+<li id="cite_note-blank-1"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-blank_1-0">1.0</a></sup> <sup><a href="#cite_ref-blank_1-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_1-0" class="reference"><a href="#cite_note-blank-1">&#91;1&#93;</a></sup>
+</p><p><sup id="cite_ref-blank_1-1" class="reference"><a href="#cite_note-blank-1">&#91;1&#93;</a></sup>
+</p>
+<ol class="references">
+<li id="cite_note-blank-1"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-blank_1-0">1.0</a></sup> <sup><a href="#cite_ref-blank_1-1">1.1</a></sup></span> <span class="reference-text">0 <span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;ref&gt;</code> tag; name "blank" defined multiple times with different content</span></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_1-0" class="reference"><a href="#cite_note-blank-1">&#91;1&#93;</a></sup>
+</p><p><sup id="cite_ref-blank_1-1" class="reference"><a href="#cite_note-blank-1">&#91;1&#93;</a></sup>
+</p>
+<ol class="references">
+<li id="cite_note-blank-1"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-blank_1-0">1.0</a></sup> <sup><a href="#cite_ref-blank_1-1">1.1</a></sup></span> <span class="reference-text">1 <span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;ref&gt;</code> tag; name "blank" defined multiple times with different content</span></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_1-0" class="reference"><a href="#cite_note-test123test-1">&#91;1&#93;</a></sup>
+<sup id="cite_ref-123test_2-0" class="reference"><a href="#cite_note-123test-2">&#91;2&#93;</a></sup>
+<sup id="cite_ref-test123_3-0" class="reference"><a href="#cite_note-test123-3">&#91;3&#93;</a></sup>
+</p>
+<ol class="references">
+<li id="cite_note-test123test-1"><span class="mw-cite-backlink"><a href="#cite_ref-test123test_1-0">↑</a></span> <span class="reference-text">One</span>
+</li>
+<li id="cite_note-123test-2"><span class="mw-cite-backlink"><a href="#cite_ref-123test_2-0">↑</a></span> <span class="reference-text">Two</span>
+</li>
+<li id="cite_note-test123-3"><span class="mw-cite-backlink"><a href="#cite_ref-test123_3-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><span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;ref&gt;</code> tag;
+name cannot be a simple integer. Use a descriptive title</span>
+</p><p><sup id="cite_ref-1" class="reference"><a href="#cite_note-1">&#91;1&#93;</a></sup>
+</p><p><span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: The opening <code>&lt;ref&gt;</code> tag is malformed or has a bad name</span>
+</p><p><sup id="cite_ref-bar_2-0" class="reference"><a href="#cite_note-bar-2">&#91;2&#93;</a></sup>
+</p><p><sup id="cite_ref-blankwithnoreference_3-0" class="reference"><a href="#cite_note-blankwithnoreference-3">&#91;3&#93;</a></sup>
+</p><p><span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;references&gt;</code> tag;
+parameter "group" is allowed only.
+Use <code>&lt;references /&gt;</code>, or <code>&lt;references group="..." /&gt;</code></span>
+</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">Also zero, but differently! (Normal ref)</span>
+</li>
+<li id="cite_note-bar-2"><span class="mw-cite-backlink"><a href="#cite_ref-bar_2-0">↑</a></span> <span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;ref&gt;</code> tag;
+no text was provided for refs named <code>bar</code></span></li>
+<li id="cite_note-blankwithnoreference-3"><span class="mw-cite-backlink"><a href="#cite_ref-blankwithnoreference_3-0">↑</a></span> <span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;ref&gt;</code> tag;
+no text was provided for refs named <code>blankwithnoreference</code></span></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-1" class="reference"><a href="#cite_note-1">&#91;1&#93;</a></sup>
+Wikipedia rocks!<sup id="cite_ref-2" class="reference"><a href="#cite_note-2">&#91;note 1&#93;</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">Proceeds of Rockology, vol. XXI</span>
+</li>
+</ol>
+<ol class="references">
+<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</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-1" class="reference"><a href="#cite_note-1">&#91;参 1&#93;</a></sup>BBB<sup id="cite_ref-2" class="reference"><a href="#cite_note-2">&#91;注 1&#93;</a></sup>CCC<sup id="cite_ref-3" class="reference"><a href="#cite_note-3">&#91;参 2&#93;</a></sup>
+</p>
+<dl><dt>refs</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">ref a</span>
+</li>
+<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text">ref c</span>
+</li>
+</ol>
+<dl><dt>notes</dt></dl>
+<ol class="references">
+<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</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_1-0" class="reference"><a href="#cite_note-foo-1">&#91;1&#93;</a></sup>
+</p>
+<ol class="references">
+<li id="cite_note-foo-1"><span class="mw-cite-backlink"><a href="#cite_ref-foo_1-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_1-0" class="reference"><a href="#cite_note-foo-1">&#91;1&#93;</a></sup>
+</p>
+<ol class="references">
+<li id="cite_note-foo-1"><span class="mw-cite-backlink"><a href="#cite_ref-foo_1-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_1-0" class="reference"><a href="#cite_note-foo-1">&#91;2 1&#93;</a></sup>
+</p>
+<ol class="references">
+<li id="cite_note-foo-1"><span class="mw-cite-backlink"><a href="#cite_ref-foo_1-0">↑</a></span> <span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;ref&gt;</code> tag;
+no text was provided for refs named <code>foo</code></span></li>
+</ol>
+<p><span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: <code>&lt;ref&gt;</code> tag with name "unused" defined in <code>&lt;references&gt;</code> is not used in prior text.</span><br />
+<span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: <code>&lt;ref&gt;</code> tag in <code>&lt;references&gt;</code> has conflicting group attribute "1".</span><br />
+<span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: <code>&lt;ref&gt;</code> tag defined in <code>&lt;references&gt;</code> has no name attribute.</span>
+</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 with number names in Klingon
+!! input
+Wikipedia rocks!<ref group="klingon">Proceeds of Rockology, vol. XXI</ref>
+
+<references group="klingon"/>
+!! result
+<p>Wikipedia rocks!<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">&#91;wa'&#93;</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">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-2" class="reference"><a href="#cite_note-2">&#91;Note 1&#93;</a></sup>
+</p>
+<ol class="references">
+<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text">note<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">&#91;1&#93;</a></sup></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">reference</span>
+</li>
+</ol>
+
+!! end
+
+!! test
+Bug 13073 regression check: wrapped <references>
+!! input
+<ref>
+foo
+</ref>
+<div><references /></div>
+!! result
+<p><sup id="cite_ref-1" class="reference"><a href="#cite_note-1">&#91;1&#93;</a></sup>
+</p>
+<div><ol class="references">
+<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">
+foo</span>
+</li>
+</ol></div>
+
+!! end
+
+!! test
+<ref> with no name and no content.
+!! input
+Bla.<ref></ref>
+!! result
+<p>Bla.<span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;ref&gt;</code> tag;
+refs with no name must have content</span>
+</p>
+!! end
+
+!! test
+<ref> with an empty-string name parameter and no content.
+!! input
+Bla.<ref name=""></ref>
+!! result
+<p>Bla.<span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;ref&gt;</code> tag;
+refs with no name must have content</span>
+</p>
+!! end
+
+!! test
+<ref> with a non-empty name parameter and no content.
+!! input
+Bla.<ref name="void"></ref>
+!! result
+Bla.<sup id="cite_ref-void_1-0" class="reference"><a href="#cite_note-void-1">&#91;1&#93;</a></sup><ol class="references">
+<li id="cite_note-void-1"><span class="mw-cite-backlink"><a href="#cite_ref-void_1-0">↑</a></span> <span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;ref&gt;</code> tag;
+no text was provided for refs named <code>void</code></span></li>
+</ol>
+
+!! end
+
+!! test
+<ref>s with the follow parameter
+!! input
+Page one.<ref name="beginning">First page footnote text.</ref>
+
+Page two.<ref follow="beginning">Second page footnote text.</ref>
+
+== References ==
+<references />
+!! result
+<p>Page one.<sup id="cite_ref-beginning_1-0" class="reference"><a href="#cite_note-beginning-1">&#91;1&#93;</a></sup>
+</p><p>Page two.
+</p>
+<h2><span class="mw-headline" id="References">References</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: References">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<ol class="references">
+<li id="cite_note-beginning-1"><span class="mw-cite-backlink"><a href="#cite_ref-beginning_1-0">↑</a></span> <span class="reference-text">First page footnote text. Second page footnote text.</span>
+</li>
+</ol>
+
+!! end
+
+!! test
+<ref> with both name and follow parameters - invalid
+!! input
+Page one.<ref name="the-name" follow="the-name">This ref is invalid.</ref>
+<references />
+!! result
+<p>Page one.<span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;ref&gt;</code> tag;
+invalid names, e.g. too many</span>
+</p>
+!! end
+
+!! test
+Multiple definition (outside <references/>)
+!! input
+<ref name=a>abc</ref>
+<ref name=a>def</ref>
+<references />
+!! result
+<p><sup id="cite_ref-a_1-0" class="reference"><a href="#cite_note-a-1">&#91;1&#93;</a></sup>
+<sup id="cite_ref-a_1-1" class="reference"><a href="#cite_note-a-1">&#91;1&#93;</a></sup>
+</p>
+<ol class="references">
+<li id="cite_note-a-1"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-a_1-0">1.0</a></sup> <sup><a href="#cite_ref-a_1-1">1.1</a></sup></span> <span class="reference-text">abc <span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;ref&gt;</code> tag; name "a" defined multiple times with different content</span></span>
+</li>
+</ol>
+
+!! end
+
+!! test
+Multiple definition (inside <references/>)
+!! input
+<ref name=a />
+<references>
+<ref name=a>abc</ref>
+<ref name=a>def</ref>
+</references>
+!! result
+<p><sup id="cite_ref-a_1-0" class="reference"><a href="#cite_note-a-1">&#91;1&#93;</a></sup>
+</p>
+<ol class="references">
+<li id="cite_note-a-1"><span class="mw-cite-backlink"><a href="#cite_ref-a_1-0">↑</a></span> <span class="reference-text">abc <span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;ref&gt;</code> tag; name "a" defined multiple times with different content</span></span>
+</li>
+</ol>
+
+!! end
+
+!! test
+Multiple definition (mixed outside/inside)
+!! input
+<ref name=a>abc</ref>
+<references>
+<ref name=a>def</ref>
+</references>
+!! result
+<p><sup id="cite_ref-a_1-0" class="reference"><a href="#cite_note-a-1">&#91;1&#93;</a></sup>
+</p>
+<ol class="references">
+<li id="cite_note-a-1"><span class="mw-cite-backlink"><a href="#cite_ref-a_1-0">↑</a></span> <span class="reference-text">abc <span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;ref&gt;</code> tag; name "a" defined multiple times with different content</span></span>
+</li>
+</ol>
+
+!! end
+
+!! test
+Multiple definition (inside {{#tag:references}})
+!! input
+<ref name=a />
+{{#tag:references|
+<ref name=a>abc</ref>
+<ref name=a>def</ref>
+}}
+!! result
+<p><sup id="cite_ref-a_1-0" class="reference"><a href="#cite_note-a-1">&#91;1&#93;</a></sup>
+</p>
+<ol class="references">
+<li id="cite_note-a-1"><span class="mw-cite-backlink"><a href="#cite_ref-a_1-0">↑</a></span> <span class="reference-text">abc <span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code>&lt;ref&gt;</code> tag; name "a" defined multiple times with different content</span></span>
+</li>
+</ol>
+
+!! end