mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Cite
synced 2024-11-15 02:55:04 +00:00
b10dd4ec27
The use case we care about is this: <ref extends="some_book"> </ref> It doesn't make sense that works, but the following doesn't: <ref extends="some_book"></ref> We decided that both need to behave the same. For consistency this patch is applying the same change to all references, no matter if they use the extends attribute or not. This is an actual change and might make existing wikitext render differently. However, I would like to argue that all wikitext that was using this was broken. The effect of a <ref> </ref> with some whitespace is that the <references> section at the end of the article will contain – well – an empty footnote. Bug: T237241 Change-Id: Iaee35583eabcb416b0a06849b89ebbfb0fb7fef9
1712 lines
101 KiB
Plaintext
1712 lines
101 KiB
Plaintext
# Force the test runner to ensure the extension is loaded
|
|
!! hooks
|
|
ref
|
|
references
|
|
!! endhooks
|
|
|
|
!! article
|
|
Template:echo
|
|
!! text
|
|
{{{1}}}
|
|
!! endarticle
|
|
|
|
!! article
|
|
Template:refinref
|
|
!! text
|
|
<ref>ho</ref>
|
|
!! endarticle
|
|
|
|
!! test
|
|
Simple <ref>, no <references/>
|
|
!! wikitext
|
|
Wikipedia rocks!<ref>Proceeds of Rockology, vol. XXI</ref>
|
|
!! html
|
|
Wikipedia rocks!<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup><div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! test
|
|
Simple <ref>, with <references/>
|
|
!! wikitext
|
|
Wikipedia rocks!<ref>Proceeds of Rockology, vol. XXI</ref>
|
|
|
|
<references />
|
|
!! html
|
|
<p>Wikipedia rocks!<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! article
|
|
Template:Simple template
|
|
!! text
|
|
A ''simple'' template.
|
|
!! endarticle
|
|
|
|
|
|
!! test
|
|
<ref> with a simple template
|
|
!! wikitext
|
|
Templating<ref>{{simple template}}</ref>
|
|
|
|
<references/>
|
|
!! html
|
|
<p>Templating<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! test
|
|
<ref> with a <nowiki>
|
|
!! wikitext
|
|
Templating<ref><nowiki>{{simple template}}</nowiki></ref>
|
|
|
|
<references />
|
|
!! html
|
|
<p>Templating<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
|
|
!! test
|
|
<ref> in a <nowiki>
|
|
!! wikitext
|
|
Templating<nowiki><ref>{{simple template}}</ref></nowiki>
|
|
|
|
<references />
|
|
!! html
|
|
<p>Templating<ref>{{simple template}}</ref>
|
|
</p><p><br />
|
|
</p>
|
|
!! end
|
|
|
|
!! test
|
|
<ref> in a <!--comment-->
|
|
!! wikitext
|
|
Templating<!--<ref>{{simple template}}</ref>-->
|
|
|
|
<references />
|
|
!! html
|
|
<p>Templating
|
|
</p><p><br />
|
|
</p>
|
|
!! end
|
|
|
|
!! test
|
|
<!--comment--> in a <ref> (bug 5384)
|
|
!! wikitext
|
|
Templating<ref>Text<!--comment--></ref>
|
|
|
|
<references />
|
|
!! html
|
|
<p>Templating<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! test
|
|
<references> after <gallery> (bug 6164)
|
|
!! options
|
|
parsoid=wt2html,html2html
|
|
!! wikitext
|
|
<ref>one</ref>
|
|
|
|
<gallery>Image:Foobar.jpg</gallery>
|
|
|
|
<references />
|
|
!! html/php
|
|
<p><sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</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" decoding="async" 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>
|
|
<div class="mw-references-wrap"><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></div>
|
|
!! html/parsoid
|
|
<p><sup about="#mwt4" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<ul class="gallery mw-gallery-traditional" typeof="mw:Extension/gallery" about="#mwt9" data-mw='{"name":"gallery","attrs":{},"body":{}}'>
|
|
<li class="gallerybox" style="width: 155px;"><div class="thumb" style="width: 150px; height: 150px;"><figure-inline typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="14" width="120"/></a></figure-inline></div><div class="gallerytext"></div></li>
|
|
</ul>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt7" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">one</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
{{REVISIONID}} on page with <ref> (bug 6299)
|
|
!! wikitext
|
|
{{REVISIONID}}<ref>elite</ref>
|
|
!! html
|
|
1337<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup><div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! test
|
|
{{REVISIONID}} on page without <ref> (bug 6299 sanity check)
|
|
!! wikitext
|
|
{{REVISIONID}}
|
|
!! html
|
|
<p>1337
|
|
</p>
|
|
!! end
|
|
|
|
!! test
|
|
Ref with content followed by blank ref
|
|
!! wikitext
|
|
<ref name="blank">content</ref>
|
|
|
|
<ref name="blank" />
|
|
|
|
<references />
|
|
!! html
|
|
<p><sup id="cite_ref-blank_1-0" class="reference"><a href="#cite_note-blank-1">[1]</a></sup>
|
|
</p><p><sup id="cite_ref-blank_1-1" class="reference"><a href="#cite_note-blank-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! test
|
|
Blank ref followed by ref with content
|
|
!! wikitext
|
|
<ref name="blank" />
|
|
|
|
<ref name="blank">content</ref>
|
|
|
|
<references />
|
|
!! html
|
|
<p><sup id="cite_ref-blank_1-0" class="reference"><a href="#cite_note-blank-1">[1]</a></sup>
|
|
</p><p><sup id="cite_ref-blank_1-1" class="reference"><a href="#cite_note-blank-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! test
|
|
Regression: non-blank ref "0" followed by ref with content
|
|
!! wikitext
|
|
<ref name="blank">0</ref>
|
|
|
|
<ref name="blank">content</ref>
|
|
|
|
<references />
|
|
!! html
|
|
<p><sup id="cite_ref-blank_1-0" class="reference"><a href="#cite_note-blank-1">[1]</a></sup>
|
|
</p><p><sup id="cite_ref-blank_1-1" class="reference"><a href="#cite_note-blank-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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><ref></code> tag; name "blank" defined multiple times with different content</span></span>
|
|
</li>
|
|
</ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
Regression sanity check: non-blank ref "1" followed by ref with content
|
|
!! wikitext
|
|
<ref name="blank">1</ref>
|
|
|
|
<ref name="blank">content</ref>
|
|
|
|
<references />
|
|
!! html
|
|
<p><sup id="cite_ref-blank_1-0" class="reference"><a href="#cite_note-blank-1">[1]</a></sup>
|
|
</p><p><sup id="cite_ref-blank_1-1" class="reference"><a href="#cite_note-blank-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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><ref></code> tag; name "blank" defined multiple times with different content</span></span>
|
|
</li>
|
|
</ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
Ref names containing a number
|
|
!! wikitext
|
|
<ref name="test123test">One</ref>
|
|
<ref name="123test">Two</ref>
|
|
<ref name="test123">Three</ref>
|
|
|
|
<references />
|
|
!! html
|
|
<p><sup id="cite_ref-test123test_1-0" class="reference"><a href="#cite_note-test123test-1">[1]</a></sup>
|
|
<sup id="cite_ref-123test_2-0" class="reference"><a href="#cite_note-123test-2">[2]</a></sup>
|
|
<sup id="cite_ref-test123_3-0" class="reference"><a href="#cite_note-test123-3">[3]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! test
|
|
T184912: Consistent normalization of consecutive underscores
|
|
!! wikitext
|
|
<ref name="x__x">example</ref>
|
|
<references />
|
|
!! html
|
|
<p><sup id="cite_ref-x_x_1-0" class="reference"><a href="#cite_note-x_x-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-x_x-1"><span class="mw-cite-backlink"><a href="#cite_ref-x_x_1-0">↑</a></span> <span class="reference-text">example</span>
|
|
</li>
|
|
</ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
Erroneous refs
|
|
!! wikitext
|
|
<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 />
|
|
!! html
|
|
<p><span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code><ref></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">[1]</a></sup>
|
|
</p><p><span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: The opening <code><ref></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">[2]</a></sup>
|
|
</p><p><sup id="cite_ref-blankwithnoreference_3-0" class="reference"><a href="#cite_note-blankwithnoreference-3">[3]</a></sup>
|
|
</p><p><span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid parameter in <code><references></code> tag</span>
|
|
</p>
|
|
<div class="mw-references-wrap"><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><ref></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><ref></code> tag;
|
|
no text was provided for refs named <code>blankwithnoreference</code></span></li>
|
|
</ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
Can't have name="…" and follow="…" the same time
|
|
!! wikitext
|
|
<ref name="theName" follow="theFollows">theValue</ref>
|
|
<references />
|
|
!! html
|
|
<p><span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code><ref></code> tag;
|
|
invalid names, e.g. too many</span>
|
|
</p>
|
|
!! end
|
|
|
|
!! test
|
|
Conflicting name="…" and follow="…" still invalid when a third parameter is present
|
|
!! wikitext
|
|
<ref name="theName" follow="theFollows" dummy="dummy">theValue</ref>
|
|
<references />
|
|
!! html
|
|
<p><span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code><ref></code> tag;
|
|
invalid names, e.g. too many</span>
|
|
</p>
|
|
!! end
|
|
|
|
!! test
|
|
Valid parameters become invalid when a third is present
|
|
!! wikitext
|
|
<ref name="theName" group="theGroup" dummy="dummy">theValue</ref>
|
|
<references group="theGroup" />
|
|
!! html
|
|
<p><span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code><ref></code> tag;
|
|
invalid names, e.g. too many</span>
|
|
</p>
|
|
!! end
|
|
|
|
!! test
|
|
Simple <ref>, with <references/> in group
|
|
!! wikitext
|
|
Wikipedia rocks!<ref>Proceeds of Rockology, vol. XXI</ref>
|
|
Wikipedia rocks!<ref group="note">Proceeds of Rockology, vol. XXI</ref>
|
|
|
|
<references />
|
|
<references group="note" />
|
|
!! html
|
|
<p>Wikipedia rocks!<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup>
|
|
Wikipedia rocks!<sup id="cite_ref-2" class="reference"><a href="#cite_note-2">[note 1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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></div>
|
|
<div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! test
|
|
Simple <ref>, with <references/> in group, with groupname in Chinese
|
|
!! wikitext
|
|
AAA<ref group="参">ref a</ref>BBB<ref group="注">note b</ref>CCC<ref group="参">ref c</ref>
|
|
|
|
;refs
|
|
<references group="参" />
|
|
|
|
;notes
|
|
<references group="注" />
|
|
!! html
|
|
<p>AAA<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[参 1]</a></sup>BBB<sup id="cite_ref-2" class="reference"><a href="#cite_note-2">[注 1]</a></sup>CCC<sup id="cite_ref-3" class="reference"><a href="#cite_note-3">[参 2]</a></sup>
|
|
</p>
|
|
<dl><dt>refs</dt></dl>
|
|
<div class="mw-references-wrap"><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></div>
|
|
<dl><dt>notes</dt></dl>
|
|
<div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! test
|
|
<ref> defined in <references>
|
|
!! wikitext
|
|
<ref name="foo" />
|
|
|
|
<references>
|
|
<ref name="foo">BAR</ref>
|
|
</references>
|
|
!! html
|
|
<p><sup id="cite_ref-foo_1-0" class="reference"><a href="#cite_note-foo-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! test
|
|
<ref> defined in <references> called with #tag
|
|
!! wikitext
|
|
<ref name="foo" />
|
|
|
|
{{#tag:references|
|
|
<ref name="foo">BAR</ref>
|
|
}}
|
|
!! html
|
|
<p><sup id="cite_ref-foo_1-0" class="reference"><a href="#cite_note-foo-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! test
|
|
<ref> defined in <references> error conditions
|
|
!! wikitext
|
|
<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>
|
|
!! html
|
|
<p><sup id="cite_ref-foo_1-0" class="reference"><a href="#cite_note-foo-1">[2 1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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><ref></code> tag;
|
|
no text was provided for refs named <code>foo</code></span></li>
|
|
</ol></div>
|
|
<p><span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: <code><ref></code> tag with name "unused" defined in <code><references></code> is not used in prior text.</span><br />
|
|
<span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: <code><ref></code> tag in <code><references></code> has conflicting group attribute "1".</span><br />
|
|
<span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: <code><ref></code> tag defined in <code><references></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
|
|
!! wikitext
|
|
Wikipedia rocks!<ref group="klingon">Proceeds of Rockology, vol. XXI</ref>
|
|
|
|
<references group="klingon" />
|
|
!! html
|
|
<p>Wikipedia rocks!<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[wa']</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! test
|
|
Consecutive whitespace in custom link label message should not create empty []
|
|
!! wikitext
|
|
<ref group="klingon">1st</ref>
|
|
<ref group="klingon">2nd</ref>
|
|
<references group="klingon" />
|
|
!! html
|
|
<p><sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[wa']</a></sup>
|
|
<sup id="cite_ref-2" class="reference"><a href="#cite_note-2">[cha']</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">1st</span>
|
|
</li>
|
|
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text">2nd</span>
|
|
</li>
|
|
</ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
Bug 31374 regression check: nested strip items
|
|
!! wikitext
|
|
{{#tag:ref|note<ref>reference</ref>|group=Note}}
|
|
<references group="Note" />
|
|
<references />
|
|
!! html
|
|
<p><sup id="cite_ref-2" class="reference"><a href="#cite_note-2">[Note 1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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">[1]</a></sup></span>
|
|
</li>
|
|
</ol></div>
|
|
<div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! test
|
|
Bug 13073 regression check: wrapped <references>
|
|
!! options
|
|
parsoid={"suppressErrors": true}
|
|
!! wikitext
|
|
<ref>
|
|
foo
|
|
</ref>
|
|
<div><references /></div>
|
|
!! html/*
|
|
<p><sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup>
|
|
</p>
|
|
<div><div class="mw-references-wrap"><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></div>
|
|
!! end
|
|
|
|
!! test
|
|
<ref> with no name and no content.
|
|
!! wikitext
|
|
Bla.<ref></ref>
|
|
!! html
|
|
<p>Bla.<span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code><ref></code> tag;
|
|
refs with no name must have content</span>
|
|
</p>
|
|
!! end
|
|
|
|
!! test
|
|
<ref> with an empty-string name parameter and no content.
|
|
!! wikitext
|
|
Bla.<ref name=""> </ref>
|
|
!! html
|
|
<p>Bla.<span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code><ref></code> tag;
|
|
refs with no name must have content</span>
|
|
</p>
|
|
!! end
|
|
|
|
!! test
|
|
<ref> with a non-empty name parameter and no content.
|
|
!! wikitext
|
|
Bla.<ref name="void"> </ref>
|
|
!! html
|
|
Bla.<sup id="cite_ref-void_1-0" class="reference"><a href="#cite_note-void-1">[1]</a></sup><div class="mw-references-wrap"><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><ref></code> tag;
|
|
no text was provided for refs named <code>void</code></span></li>
|
|
</ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
<ref> with both name and follow parameters - invalid
|
|
!! wikitext
|
|
Page one.<ref name="the-name" follow="the-name">This ref is invalid.</ref>
|
|
<references />
|
|
!! html
|
|
<p>Page one.<span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code><ref></code> tag;
|
|
invalid names, e.g. too many</span>
|
|
</p>
|
|
!! end
|
|
|
|
!! test
|
|
Multiple definition (outside <references/>)
|
|
!! wikitext
|
|
<ref name="a">abc</ref>
|
|
<ref name="a">def</ref>
|
|
<references />
|
|
!! html
|
|
<p><sup id="cite_ref-a_1-0" class="reference"><a href="#cite_note-a-1">[1]</a></sup>
|
|
<sup id="cite_ref-a_1-1" class="reference"><a href="#cite_note-a-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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><ref></code> tag; name "a" defined multiple times with different content</span></span>
|
|
</li>
|
|
</ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
Multiple definition (inside <references/>)
|
|
!! wikitext
|
|
<ref name="a" />
|
|
<references>
|
|
<ref name="a">abc</ref>
|
|
<ref name="a">def</ref>
|
|
</references>
|
|
!! html
|
|
<p><sup id="cite_ref-a_1-0" class="reference"><a href="#cite_note-a-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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><ref></code> tag; name "a" defined multiple times with different content</span></span>
|
|
</li>
|
|
</ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
Multiple definition (mixed outside/inside)
|
|
!! wikitext
|
|
<ref name="a">abc</ref>
|
|
<references>
|
|
<ref name="a">def</ref>
|
|
</references>
|
|
!! html
|
|
<p><sup id="cite_ref-a_1-0" class="reference"><a href="#cite_note-a-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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><ref></code> tag; name "a" defined multiple times with different content</span></span>
|
|
</li>
|
|
</ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
Multiple definition (inside {{#tag:references}})
|
|
!! wikitext
|
|
<ref name="a" />
|
|
{{#tag:references|
|
|
<ref name="a">abc</ref>
|
|
<ref name="a">def</ref>
|
|
}}
|
|
!! html
|
|
<p><sup id="cite_ref-a_1-0" class="reference"><a href="#cite_note-a-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><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><ref></code> tag; name "a" defined multiple times with different content</span></span>
|
|
</li>
|
|
</ol></div>
|
|
!! end
|
|
|
|
# Parsoid doesn't rt cleanly because name attribute is actually broken
|
|
# here (<ref> tag closes at first >); see next test for a tidied version.
|
|
!! test
|
|
T29694 - [] in reference names in HTML5 fragment mode
|
|
!! config
|
|
wgFragmentMode=[ 'html5' ]
|
|
!! options
|
|
parsoid=wt2html
|
|
!! wikitext
|
|
<ref name="[#foo] {bar} <baz>">[bar]</ref>
|
|
!! html/php
|
|
<sup id="cite_ref-[#foo]_{bar}_<baz_1-0" class="reference"><a href="#cite_note-[#foo]_{bar}_<baz-1">[1]</a></sup><div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-[#foo]_{bar}_<baz-1"><span class="mw-cite-backlink"><a href="#cite_ref-[#foo]_{bar}_<baz_1-0">↑</a></span> <span class="reference-text">">[bar]</span>
|
|
</li>
|
|
</ol></div>
|
|
!! html/parsoid
|
|
<p><sup about="#mwt2" class="mw-ref" id="cite_ref-[#foo]_{bar}_<baz_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"[#foo] {bar} <baz"},"body":{"id":"mw-reference-text-cite_note-[#foo]_{bar}_<baz-1"}}'><a href="./Parser_test#cite_note-[#foo]_{bar}_<baz-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt3" data-mw='{"name":"references","attrs":{},"autoGenerated":true}'><li about="#cite_note-[#foo]_{bar}_<baz-1" id="cite_note-[#foo]_{bar}_<baz-1"><a href="./Parser_test#cite_ref-[#foo]_{bar}_<baz_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-[#foo]_{bar}_<baz-1" class="mw-reference-text" data-parsoid="{}">">[bar]</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
T29694 - [] in reference names in HTML5 fragment mode (tidied)
|
|
!! config
|
|
wgFragmentMode=[ 'html5' ]
|
|
!! wikitext
|
|
<ref name="[#foo] {bar} <baz>">[bar]</ref>
|
|
<references />
|
|
!! html/php
|
|
<p><sup id="cite_ref-[#foo]_{bar}_<baz>_1-0" class="reference"><a href="#cite_note-[#foo]_{bar}_<baz>-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-[#foo]_{bar}_<baz>-1"><span class="mw-cite-backlink"><a href="#cite_ref-[#foo]_{bar}_<baz>_1-0">↑</a></span> <span class="reference-text">[bar]</span>
|
|
</li>
|
|
</ol></div>
|
|
!! html/parsoid
|
|
<p><sup about="#mwt2" class="mw-ref" id="cite_ref-[#foo]_{bar}_<baz>_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"[#foo] {bar} <baz>"},"body":{"id":"mw-reference-text-cite_note-[#foo]_{bar}_<baz>-1"}}'><a href="./Parser_test#cite_note-[#foo]_{bar}_<baz>-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt3" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-[#foo]_{bar}_<baz>-1" id="cite_note-[#foo]_{bar}_<baz>-1"><a href="./Parser_test#cite_ref-[#foo]_{bar}_<baz>_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-[#foo]_{bar}_<baz>-1" class="mw-reference-text" data-parsoid="{}">[bar]</span></li></ol>
|
|
!! end
|
|
|
|
|
|
#### ----------------------------------------------------------------
|
|
#### Parsoid-only testing of Parsoid's impl of <ref> and <references>
|
|
#### tags. Parsoid's output for these tags differs from that of the
|
|
#### PHP parser.
|
|
#### ----------------------------------------------------------------
|
|
|
|
!! test
|
|
Ref: 1. ref-location should be replaced with an index span
|
|
!! wikitext
|
|
A <ref>foo</ref>
|
|
B <ref name="x">foo</ref>
|
|
C <ref name="y" />
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup>
|
|
B <sup about="#mwt4" class="mw-ref" id="cite_ref-x_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"},"body":{"id":"mw-reference-text-cite_note-x-2"}}'><a href="./Parser_test#cite_note-x-2"><span class="mw-reflink-text">[2]</span></a></sup>
|
|
C <sup about="#mwt6" class="mw-ref" id="cite_ref-y_3-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"y"}}'><a href="./Parser_test#cite_note-y-3"><span class="mw-reflink-text">[3]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
|
|
<li about="#cite_note-x-2" id="cite_note-x-2"><a href="./Parser_test#cite_ref-x_2-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-x-2" class="mw-reference-text">foo</span></li>
|
|
<li about="#cite_note-y-3" id="cite_note-y-3"><a href="./Parser_test#cite_ref-y_3-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-y-3" class="mw-reference-text"></span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 2. ref-tags with identical names should all get the same index
|
|
!! wikitext
|
|
A <ref name="x">foo</ref>
|
|
B <ref name="x" />
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-x_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"},"body":{"id":"mw-reference-text-cite_note-x-1"}}'><a href="./Parser_test#cite_note-x-1"><span class="mw-reflink-text">[1]</span></a></sup>
|
|
B <sup about="#mwt4" class="mw-ref" id="cite_ref-x_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="./Parser_test#cite_note-x-1"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-x-1" id="cite_note-x-1"><span rel="mw:referencedBy"><a href="./Parser_test#cite_ref-x_1-0"><span class="mw-linkback-text">1 </span></a><a href="./Parser_test#cite_ref-x_1-1"><span class="mw-linkback-text">2 </span></a></span> <span id="mw-reference-text-cite_note-x-1" class="mw-reference-text">foo</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 3. spaces in ref-names should be ignored
|
|
!! wikitext
|
|
A <ref name="x">foo</ref>
|
|
B <ref name=" x " />
|
|
C <ref name= x />
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-x_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"},"body":{"id":"mw-reference-text-cite_note-x-1"}}'><a href="./Parser_test#cite_note-x-1"><span class="mw-reflink-text">[1]</span></a></sup>
|
|
B <sup about="#mwt4" class="mw-ref" id="cite_ref-x_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="./Parser_test#cite_note-x-1"><span class="mw-reflink-text">[1]</span></a></sup>
|
|
C <sup about="#mwt6" class="mw-ref" id="cite_ref-x_1-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="./Parser_test#cite_note-x-1"><span class="mw-reflink-text">[1]</span></a></supn></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-x-1" id="cite_note-x-1"><span rel="mw:referencedBy"><a href="./Parser_test#cite_ref-x_1-0"><span class="mw-linkback-text">1 </span></a><a href="./Parser_test#cite_ref-x_1-1"><span class="mw-linkback-text">2 </span></a><a href="./Parser_test#cite_ref-x_1-2"><span class="mw-linkback-text">3 </span></a></span> <span id="mw-reference-text-cite_note-x-1" class="mw-reference-text">foo</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
# NOTE: constructor is a predefined property in JS and constructor as a ref-name can clash with it if not handled properly)
|
|
!! test
|
|
Ref: 4. 'constructor' should be accepted as a valid ref-name
|
|
!! wikitext
|
|
A <ref name="constructor">foo</ref>
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-constructor_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"constructor"},"body":{"id":"mw-reference-text-cite_note-constructor-1"}}'><a href="./Parser_test#cite_note-constructor-1"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-constructor-1" id="cite_note-constructor-1"><a href="./Parser_test#cite_ref-constructor_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-constructor-1" class="mw-reference-text">foo</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 5. body should accept generic wikitext
|
|
!! wikitext
|
|
A <ref>
|
|
This is a '''[[bolded link]]''' and this is a {{echo|transclusion}}
|
|
</ref>
|
|
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"> This is a <b><a rel="mw:WikiLink" href="./Bolded_link" title="Bolded link">bolded link</a></b> and this is a <span about="#mwt3" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"transclusion"}},"i":0}}]}'>transclusion</span>
|
|
</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 6. indent-pres should not be output in ref-body
|
|
!! wikitext
|
|
A <ref>
|
|
foo
|
|
bar
|
|
baz
|
|
</ref>
|
|
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">
|
|
foo
|
|
bar
|
|
baz
|
|
</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 7. No p-wrapping in ref-body
|
|
!! wikitext
|
|
A <ref>
|
|
foo
|
|
|
|
bar
|
|
|
|
|
|
baz
|
|
|
|
|
|
|
|
booz
|
|
</ref>
|
|
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">
|
|
foo
|
|
|
|
bar
|
|
|
|
|
|
baz
|
|
|
|
|
|
|
|
booz
|
|
</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 8. transclusion wikitext has lower precedence
|
|
!! wikitext
|
|
A <ref> foo {{echo|</ref> B C}}
|
|
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup> B C}}</p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"> foo {{echo|</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 9. unclosed comments should not leak out of ref-body
|
|
!! wikitext
|
|
A <ref> foo <!--</ref> B C
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup> B C</p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"> foo <!----></span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 10. Unclosed HTML tags should not leak out of ref-body
|
|
!! wikitext
|
|
A <ref> <b> foo </ref> B C
|
|
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup> B C</p>
|
|
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"> <b data-parsoid='{"stx":"html","autoInsertedEnd":true}'> foo </b></span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 11. ref-tags acts like an inline element wrt P-wrapping
|
|
!! wikitext
|
|
A <ref>foo</ref> B
|
|
C <ref>bar</ref> D
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup> B
|
|
C <sup about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2"><span class="mw-reflink-text">[2]</span></a></sup> D</p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
|
|
<li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 12. ref-tags act as trailing newline migration barrier
|
|
!! wikitext
|
|
<!--the newline at the end of this line moves out of the p tag-->a
|
|
|
|
b<!--the newline at the end of this line stays inside the p tag--> <ref />
|
|
<ref />
|
|
|
|
c
|
|
<references />
|
|
!! html/parsoid
|
|
<!--the newline at the end of this line moves out of the p tag--><p>a</p>
|
|
|
|
|
|
<p>b<!--the newline at the end of this line stays inside the p tag--> <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{}}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup>
|
|
<sup about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{}}'><a href="./Parser_test#cite_note-2"><span class="mw-reflink-text">[2]</span></a></sup></p>
|
|
|
|
<p>c</p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"></span></li>
|
|
<li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text"></span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 13. ref-tags are not SOL-transparent and block indent-pres
|
|
!! wikitext
|
|
<ref>foo</ref> A
|
|
<ref>bar
|
|
</ref> B
|
|
<references />
|
|
!! html/parsoid
|
|
<p><sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup> A
|
|
<sup about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2"><span class="mw-reflink-text">[2]</span></a></sup> B</p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
|
|
<li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar
|
|
</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
## Roundtripping fails because of nowiki'ing
|
|
!! test
|
|
Ref: 14. A nested ref-tag should be emitted as plain text
|
|
!! options
|
|
parsoid=wt2html
|
|
!! wikitext
|
|
<ref>foo <ref>bar</ref> baz</ref>
|
|
|
|
<references />
|
|
!! html/parsoid
|
|
<p><sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup> baz</ref></p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text" data-parsoid="{}">foo <ref>bar</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 15. ref-tags with identical names should get identical indexes
|
|
!! wikitext
|
|
A1 <ref name="a">foo</ref> A2 <ref name="a" />
|
|
B1 <ref name="b" /> B2 <ref name="b">bar</ref>
|
|
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A1 <sup about="#mwt3" class="mw-ref" id="cite_ref-a_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a"},"body":{"id":"mw-reference-text-cite_note-a-1"}}'><a href="./Parser_test#cite_note-a-1"><span class="mw-reflink-text">[1]</span></a></sup> A2 <sup about="#mwt4" class="mw-ref" id="cite_ref-a_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a"}}'><a href="./Parser_test#cite_note-a-1"><span class="mw-reflink-text">[1]</span></a></sup>
|
|
B1 <sup about="#mwt7" class="mw-ref" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"b"}}'><a href="./Parser_test#cite_note-b-2"><span class="mw-reflink-text">[2]</span></a></sup> B2 <sup about="#mwt8" class="mw-ref" id="cite_ref-b_2-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"b"},"body":{"id":"mw-reference-text-cite_note-b-2"}}'><a href="./Parser_test#cite_note-b-2"><span class="mw-reflink-text">[2]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-a-1" id="cite_note-a-1"><span rel="mw:referencedBy"><a href="./Parser_test#cite_ref-a_1-0"><span class="mw-linkback-text">1 </span></a><a href="./Parser_test#cite_ref-a_1-1"><span class="mw-linkback-text">2 </span></a></span> <span id="mw-reference-text-cite_note-a-1" class="mw-reference-text">foo</span></li><li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy"><a href="./Parser_test#cite_ref-b_2-0"><span class="mw-linkback-text">1 </span></a><a href="./Parser_test#cite_ref-b_2-1"><span class="mw-linkback-text">2 </span></a></span> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">bar</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
## We don't bother wt2wt-ing non-standard whitespace
|
|
!! test
|
|
Ref: 16. Tokenizer should accept non-standard whitespace in <ref> and </ref> tags
|
|
!!options
|
|
parsoid=wt2html
|
|
!! wikitext
|
|
A <ref >foo</ref >
|
|
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 17. Generate valid HTML5 id/about attributes
|
|
!! wikitext
|
|
<ref name="a b">foo</ref>
|
|
<ref name=":0">ve-created name</ref>
|
|
|
|
<references />
|
|
!! html/parsoid
|
|
<p><sup about="#mwt2" class="mw-ref" id="cite_ref-a_b_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a b"},"body":{"id":"mw-reference-text-cite_note-a_b-1"}}'><a href="./Parser_test#cite_note-a_b-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup>
|
|
<sup about="#mwt4" class="mw-ref" id="cite_ref-:0_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":":0"},"body":{"id":"mw-reference-text-cite_note-:0-2"}}'><a href="./Parser_test#cite_note-:0-2" style="counter-reset: mw-Ref 2;"><span class="mw-reflink-text">[2]</span></a></sup>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-a_b-1" id="cite_note-a_b-1"><a href="./Parser_test#cite_ref-a_b_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-a_b-1" class="mw-reference-text">foo</span></li><li about="#cite_note-:0-2" id="cite_note-:0-2"><a href="./Parser_test#cite_ref-:0_2-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-:0-2" class="mw-reference-text">ve-created name</span></li></ol>
|
|
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 18. T58916: Extension attributes should be parsed as plain text
|
|
!! config
|
|
wgFragmentMode=[ 'html5', 'legacy' ]
|
|
!! wikitext
|
|
<ref name="{{echo|a}}">foo</ref>
|
|
|
|
<references />
|
|
!! html/php
|
|
<p><sup id="cite_ref-{{echo|a}}_1-0" class="reference"><a href="#cite_note-{{echo|a}}-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-{{echo|a}}-1"><span class="mw-cite-backlink"><a href="#cite_ref-{{echo|a}}_1-0">↑</a></span> <span class="reference-text">foo</span>
|
|
</li>
|
|
</ol></div>
|
|
!! html/parsoid
|
|
<p><sup class="mw-ref" id="cite_ref-{{echo|a}}_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"{{echo|a}}"},"body":{"id":"mw-reference-text-cite_note-{{echo|a}}-1"}}'><a href="./Parser_test#cite_note-{{echo|a}}-1"><span class="mw-reflink-text">[1]</span></a></sup>
|
|
</p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_ref-{{echo|a}}_1-1" id="cite_note-{{echo|a}}-1"><a href="./Parser_test#cite_ref-{{echo|a}}_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-{{echo|a}}-1" class="mw-reference-text">foo</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
# Parsoid doesn't wt2wt this cleanly because we serialize both
|
|
# versions of the name the same way ("a & b")
|
|
!! test
|
|
Ref: 19. ref-tags with identical name encodings should get identical indexes
|
|
!! config
|
|
wgFragmentMode=[ 'html5', 'legacy' ]
|
|
!! options
|
|
parsoid=wt2html,html2html
|
|
!! wikitext
|
|
1 <ref name="a & b">foo</ref> 2 <ref name="a & b" />
|
|
|
|
<references />
|
|
!! html/php
|
|
<p>1 <sup id="cite_ref-a_&_b_1-0" class="reference"><a href="#cite_note-a_&_b-1">[1]</a></sup> 2 <sup id="cite_ref-a_&_b_1-1" class="reference"><a href="#cite_note-a_&_b-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-a_&_b-1"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-a_&_b_1-0">1.0</a></sup> <sup><a href="#cite_ref-a_&_b_1-1">1.1</a></sup></span> <span class="reference-text">foo</span>
|
|
</li>
|
|
</ol></div>
|
|
!! html/parsoid
|
|
<p>1 <sup about="#mwt3" class="mw-ref" id="cite_ref-a_&_b_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a & b"},"body":{"id":"mw-reference-text-cite_note-a_&_b-1"}}'><a href="./Parser_test#cite_note-a_&_b-1"><span class="mw-reflink-text">[1]</span></a></sup> 2 <sup about="#mwt4" class="mw-ref" id="cite_ref-a_&_b_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a & b"}}'><a href="./Parser_test#cite_note-a_&_b-1"><span class="mw-reflink-text">[1]</span></a></sup>
|
|
</p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="cite_note-a_&_b-1" id="cite_note-a_&_b-1"><span rel="mw:referencedBy"><a href="./Parser_test#cite_ref-a_&_b_1-0"><span class="mw-linkback-text">1 </span></a><a href="./Parser_test#cite_ref-a_&_b_1-1"><span class="mw-linkback-text">2 </span></a></span> <span id="mw-reference-text-cite_note-a_&_b-1" class="mw-reference-text">foo</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref: 20. ref-tags with identical names but different content should keep it
|
|
!! wikitext
|
|
A <ref name="foo">Foo one</ref>
|
|
B <ref name="foo">Foo two</ref>
|
|
C <ref name="foo" />
|
|
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-foo_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"foo"},"body":{"id":"mw-reference-text-cite_note-foo-1"}}'><a href="./Parser_test#cite_note-foo-1"><span class="mw-reflink-text">[1]</span></a></sup>
|
|
B <sup about="#mwt4" class="mw-ref" id="cite_ref-foo_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"foo"},"body":{"html":"Foo two"}}'><a href="./Parser_test#cite_note-foo-1"><span class="mw-reflink-text">[1]</span></a></sup>
|
|
C <sup about="#mwt6" class="mw-ref" id="cite_ref-foo_1-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"foo"}}'><a href="./Parser_test#cite_note-foo-1"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-foo-1" id="cite_note-foo-1"><span rel="mw:referencedBy"><a href="./Parser_test#cite_ref-foo_1-0"><span class="mw-linkback-text">1 </span></a><a href="./Parser_test#cite_ref-foo_1-1"><span class="mw-linkback-text">2 </span></a><a href="./Parser_test#cite_ref-foo_1-2"><span class="mw-linkback-text">3 </span></a></span> <span id="mw-reference-text-cite_note-foo-1" class="mw-reference-text">Foo one</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
References: 1a. references tag without any refs should be handled properly
|
|
!! wikitext
|
|
<references />
|
|
!! html/parsoid
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt2" data-mw='{"name":"references","attrs":{}}'></ol>
|
|
!! end
|
|
|
|
!! test
|
|
References: 1b. references tag without any refs should be handled properly
|
|
!! wikitext
|
|
<references></references>
|
|
!! html/parsoid
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt2" data-mw='{"name":"references","attrs":{},"body":{"html":""}}'></ol>
|
|
!! end
|
|
|
|
!! test
|
|
References: 2. references tag with group only outputs references from that group
|
|
!! wikitext
|
|
A <ref group="a">foo</ref>
|
|
B <ref group="b">bar</ref>
|
|
C <ref>baz</ref>
|
|
|
|
<references group="a" />
|
|
<references />
|
|
<references group="b" />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"group":"a"},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" data-mw-group="a"><span class="mw-reflink-text">[a 1]</span></a></sup>
|
|
B <sup about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"group":"b"},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2" data-mw-group="b"><span class="mw-reflink-text">[b 1]</span></a></sup>
|
|
C <sup class="mw-ref" id="cite_ref-3" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-3"}}'><a href="./Parser_test#cite_note-3"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" data-mw-group="a" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{"group":"a"}}'>
|
|
<li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" data-mw-group="a" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
|
|
</ol>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-3" id="cite_note-3"><a href="./Parser_test#cite_ref-3" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-3" class="mw-reference-text">baz</span></li>
|
|
</ol>
|
|
<ol class="mw-references references" data-mw-group="b" typeof="mw:Extension/references" about="#mwt12" data-mw='{"name":"references","attrs":{"group":"b"}}'>
|
|
<li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" data-mw-group="b" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
References: 3. ref list should be cleared after processing references
|
|
!! wikitext
|
|
A <ref>foo</ref>
|
|
|
|
<references />
|
|
|
|
B <ref>bar</ref>
|
|
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
|
|
</ol>
|
|
|
|
<p>B <sup about="#mwt6" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
References: 4. only referenced group should be cleared after processing references
|
|
!! wikitext
|
|
A <ref group="a">afoo</ref>
|
|
B <ref>bfoo</ref>
|
|
|
|
<references group="a" />
|
|
|
|
C <ref>cfoo</ref>
|
|
|
|
<references />
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"group":"a"},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" data-mw-group="a"><span class="mw-reflink-text">[a 1]</span></a></sup>
|
|
B <sup about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" data-mw-group="a" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{"group":"a"}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" data-mw-group="a" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">afoo</span></li>
|
|
</ol>
|
|
|
|
<p>C <sup about="#mwt8" class="mw-ref" id="cite_ref-3" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-3"}}'><a href="./Parser_test#cite_note-3"><span class="mw-reflink-text">[2]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bfoo</span></li><li about="#cite_note-3" id="cite_note-3"><a href="./Parser_test#cite_ref-3" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-3" class="mw-reference-text">cfoo</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
## Don't expect this to rt since we're dropping content
|
|
!! test
|
|
References: 5. ref tags in references should be processed while ignoring all other content
|
|
!! options
|
|
parsoid=wt2html,html2html
|
|
!! wikitext
|
|
A <ref name="a" />
|
|
B <ref name="b">bar</ref>
|
|
|
|
<references>
|
|
<ref name="a">foo</ref>
|
|
This should just get lost.
|
|
</references>
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-a_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a"}}'><a href="./Parser_test#cite_note-a-1"><span class="mw-reflink-text">[1]</span></a></sup>
|
|
B <sup about="#mwt4" class="mw-ref" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"b"},"body":{"id":"mw-reference-text-cite_note-b-2"}}'><a href="./Parser_test#cite_note-b-2"><span class="mw-reflink-text">[2]</span></a></sup></p>
|
|
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{},"body":{"html":"\n<sup about=\"#mwt8\" class=\"mw-ref\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[59,82,14,6]}' data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"a\"},\"body\":{\"id\":\"mw-reference-text-cite_note-a-1\"}}'><a href=\"./Parser_test#cite_note-a-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]</span></a></sup>\n"}}'><li about="#cite_note-a-1" id="cite_note-a-1"><a href="./Parser_test#cite_ref-a_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-a-1" class="mw-reference-text">foo</span></li><li about="#cite_note-b-2" id="cite_note-b-2"><a href="./Parser_test#cite_ref-b_2-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">bar</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
References: 6. <references /> from a transclusion
|
|
!! wikitext
|
|
<ref>Foo</ref> {{echo|<references />}}
|
|
!! html/php
|
|
<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup> <div class="mw-references-wrap"><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>
|
|
!! html/php+tidy
|
|
<p><sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup> </p><div class="mw-references-wrap"><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>
|
|
!! html/parsoid
|
|
<p><sup about="#mwt6" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup> </p><ol class="mw-references references" typeof="mw:Extension/references mw:Transclusion" about="#mwt3" data-parsoid='{"pi":[[{"k":"1"}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<references />"}},"i":0}}]}'><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">Foo</span></li></ol>
|
|
|
|
!! end
|
|
|
|
!! test
|
|
References: 7. Multiple references tags (one without and one with nested refs) should be correctly handled
|
|
!! wikitext
|
|
A <ref>foo bar for a</ref>
|
|
B <ref group="X" name="b" />
|
|
|
|
<references />
|
|
|
|
<references group="X">
|
|
<ref name="b">foo</ref>
|
|
</references>
|
|
!! html/parsoid
|
|
<p>A <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup>
|
|
B <sup about="#mwt4" class="mw-ref" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"group":"X","name":"b"}}'><a href="./Parser_test#cite_note-b-2" data-mw-group="X"><span class="mw-reflink-text">[X 1]</span></a></sup>
|
|
</p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo bar for a</span></li>
|
|
</ol>
|
|
|
|
<ol class="mw-references references" data-mw-group="X" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{"group":"X"},"body":{"html":"\n<sup about=\"#mwt10\" class=\"mw-ref\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[96,119,14,6]}' data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"b\"},\"body\":{\"id\":\"mw-reference-text-cite_note-b-2\"}}'><a href=\"./Parser_test#cite_note-b-2\" style=\"counter-reset: mw-Ref 1;\" data-mw-group=\"X\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[X 1]</span></a></sup>\n"}}'>
|
|
<li about="#cite_note-b-2" id="cite_note-b-2"><a href="./Parser_test#cite_ref-b_2-0" data-mw-group="X" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">foo</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
References: 8. T88019: Remove <meta>s from templates inside <ref> that's itself inside a template
|
|
!! wikitext
|
|
X{{echo|<ref>foo {{echo|<b>bar</b>}} and {{echo|baz}} boo</ref>}}
|
|
<references />
|
|
!! html/parsoid
|
|
<p>X<sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Transclusion mw:Extension/ref" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<ref>foo {{echo|<b>bar</b>}} and {{echo|baz}} boo</ref>"}},"i":0}}]}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt7" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo <b data-parsoid='{"stx":"html"}'>bar</b> and baz boo</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
References: 9. Generate missing references list at the end
|
|
!! wikitext
|
|
A <ref>foo</ref>
|
|
B <ref group="inexistent">bar</ref>
|
|
!! html/parsoid
|
|
<p>A <sup class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup> B <sup class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"group":"inexistent"},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2" data-mw-group="inexistent"><span class="mw-reflink-text">[inexistent 1]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{},"autoGenerated":true}'>
|
|
<li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
|
|
</ol>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw-group="inexistent" data-mw='{"name":"references","attrs":{"group":"inexistent"},"autoGenerated":true}'>
|
|
<li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" data-mw-group="inexistent" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
!! test
|
|
References: 10.1. New <references/> shouldn't be added for unrelated edits.
|
|
!! options
|
|
parsoid={
|
|
"modes": ["selser"],
|
|
"changes": [["#x", "remove"]],
|
|
"selser": "noauto"
|
|
}
|
|
!! wikitext
|
|
Unrelated text<span id="x"> that's going to disappear</span>.
|
|
A <ref>foo</ref>
|
|
!! wikitext/edited
|
|
Unrelated text.
|
|
A <ref>foo</ref>
|
|
!! end
|
|
|
|
!! test
|
|
References: 10.2. New <references/> shouldn't be added for unrelated edits.
|
|
!! options
|
|
parsoid={
|
|
"modes": ["selser"],
|
|
"changes": [["#x", "remove"]],
|
|
"selser": "noauto",
|
|
"responsiveReferences": { "enabled": true, "threshold": 2 }
|
|
}
|
|
!! wikitext
|
|
Unrelated text<span id="x"> that's going to disappear</span>.
|
|
A <ref>foo</ref>
|
|
!! wikitext/edited
|
|
Unrelated text.
|
|
A <ref>foo</ref>
|
|
!! end
|
|
|
|
# Doesn't wt2wt cleanly because we don't encode the & in html2wt direction
|
|
!! test
|
|
Entities in ref name
|
|
!! config
|
|
wgFragmentMode=[ 'html5', 'legacy' ]
|
|
!! options
|
|
parsoid=wt2html,html2html
|
|
!! wikitext
|
|
<ref name="test & me {{echo|foo}}">hi</ref>
|
|
<references />
|
|
!! html/php
|
|
<p><sup id="cite_ref-test_&_me_{{echo|foo}}_1-0" class="reference"><a href="#cite_note-test_&_me_{{echo|foo}}-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-test_&_me_{{echo|foo}}-1"><span class="mw-cite-backlink"><a href="#cite_ref-test_&_me_{{echo|foo}}_1-0">↑</a></span> <span class="reference-text">hi</span>
|
|
</li>
|
|
</ol></div>
|
|
!! html/parsoid
|
|
<p><sup about="#mwt2" class="mw-ref" id="cite_ref-test_&_me_{{echo|foo}}_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"test & me {{echo|foo}}"},"body":{"id":"mw-reference-text-cite_note-test_&_me_{{echo|foo}}-1"}}'><a href="./Parser_test#cite_note-test_&_me_{{echo|foo}}-1"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
|
|
<li about="#cite_note-test_&_me_{{echo|foo}}-1" id="cite_note-test_&_me_{{echo|foo}}-1"><a href="./Parser_test#cite_ref-test_&_me_{{echo|foo}}_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-test_&_me_{{echo|foo}}-1" class="mw-reference-text">hi</span></li>
|
|
</ol>
|
|
!! end
|
|
|
|
## The output here may look funny, but it's what the php parser will do. The
|
|
## unclosed references tag becomes escaped text, and then a new references
|
|
## tag is auto-generated. The test is wt2html only because it roundtrips with
|
|
## nowiki tags, and the auto-generated references tag is only dropped in
|
|
## rtTestMode.
|
|
!! test
|
|
Generate references for unclosed references tag
|
|
!! options
|
|
parsoid=wt2html
|
|
!! wikitext
|
|
a<ref>foo</ref>
|
|
|
|
<references>
|
|
!! html/parsoid
|
|
<p>a<sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<p><references></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt3" data-mw='{"name":"references","attrs":{},"autoGenerated":true}'><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
New reference serializes on its own line
|
|
!! options
|
|
parsoid=wt2wt,html2wt
|
|
!! wikitext
|
|
foo
|
|
<references />
|
|
!! html/parsoid
|
|
foo<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt2" data-mw='{"name":"references","attrs":{}}'></ol>
|
|
!! end
|
|
|
|
!! test
|
|
Ref in ref
|
|
!! wikitext
|
|
test <ref>hi {{refinref}}</ref>
|
|
<references />
|
|
!! html/php
|
|
<p>test <sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">hi </span>
|
|
</li>
|
|
</ol></div>
|
|
<p><span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: <code><ref></code> tag defined in <code><references></code> has no name attribute.</span>
|
|
</p>
|
|
!! html/parsoid
|
|
<p>test <sup about="#mwt4" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">hi <span about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"refinref","href":"./Template:Refinref"},"params":{},"i":0}}]}'></span></span></li></ol>
|
|
!! end
|
|
|
|
## Parsoid responsive references tests
|
|
|
|
!! test
|
|
Responsive references: disabled, autogenerated
|
|
!! options
|
|
parsoid={
|
|
"modes": ["wt2html"],
|
|
"responsiveReferences": { "enabled": false, "threshold": 2 }
|
|
}
|
|
!! wikitext
|
|
Test <ref>1</ref><ref>2</ref>
|
|
!! html/parsoid
|
|
<p>Test <sup about="#mwt3" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup><sup about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2" style="counter-reset: mw-Ref 2;"><span class="mw-reflink-text">[2]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{},"autoGenerated":true}'><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">1</span></li><li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">2</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
Responsive references: enabled, autogenerated
|
|
!! options
|
|
parsoid={
|
|
"modes": ["wt2html"],
|
|
"responsiveReferences": { "enabled": true, "threshold": 2 }
|
|
}
|
|
!! wikitext
|
|
Test <ref>1</ref><ref>2</ref>
|
|
!! html/parsoid
|
|
<p>Test <sup about="#mwt3" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup><sup about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2" style="counter-reset: mw-Ref 2;"><span class="mw-reflink-text">[2]</span></a></sup></p>
|
|
<div class="mw-references-wrap" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{},"autoGenerated":true}'><ol class="mw-references references"><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">1</span></li><li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">2</span></li></ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
Responsive references: enabled, autogenerated, exceed
|
|
!! options
|
|
parsoid={
|
|
"modes": ["wt2html"],
|
|
"responsiveReferences": { "enabled": true, "threshold": 1 }
|
|
}
|
|
!! wikitext
|
|
Test <ref>1</ref><ref>2</ref>
|
|
!! html/parsoid
|
|
<p>Test <sup about="#mwt3" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup><sup about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2" style="counter-reset: mw-Ref 2;"><span class="mw-reflink-text">[2]</span></a></sup></p>
|
|
<div class="mw-references-wrap mw-references-columns" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{},"autoGenerated":true}'><ol class="mw-references references"><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">1</span></li><li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">2</span></li></ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
Responsive references: disabled
|
|
!! options
|
|
parsoid={
|
|
"responsiveReferences": { "enabled": false, "threshold": 2 }
|
|
}
|
|
!! wikitext
|
|
Test <ref>1</ref><ref>2</ref>
|
|
<references />
|
|
!! html/parsoid
|
|
<p>Test <sup about="#mwt3" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup><sup about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2" style="counter-reset: mw-Ref 2;"><span class="mw-reflink-text">[2]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">1</span></li><li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">2</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
Responsive references: enabled
|
|
!! options
|
|
parsoid={
|
|
"responsiveReferences": { "enabled": true, "threshold": 2 }
|
|
}
|
|
!! wikitext
|
|
Test <ref>1</ref><ref>2</ref>
|
|
<references />
|
|
!! html/parsoid
|
|
<p>Test <sup about="#mwt3" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup><sup about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2" style="counter-reset: mw-Ref 2;"><span class="mw-reflink-text">[2]</span></a></sup></p>
|
|
<div class="mw-references-wrap" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><ol class="mw-references references"><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">1</span></li><li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">2</span></li></ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
Responsive references: enabled, exceed
|
|
!! options
|
|
parsoid={
|
|
"responsiveReferences": { "enabled": true, "threshold": 1 }
|
|
}
|
|
!! wikitext
|
|
Test <ref>1</ref><ref>2</ref>
|
|
<references />
|
|
!! html/parsoid
|
|
<p>Test <sup about="#mwt3" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup><sup about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2" style="counter-reset: mw-Ref 2;"><span class="mw-reflink-text">[2]</span></a></sup></p>
|
|
<div class="mw-references-wrap mw-references-columns" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><ol class="mw-references references"><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">1</span></li><li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">2</span></li></ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
Responsive references: disabled, explicit
|
|
!! options
|
|
parsoid={
|
|
"responsiveReferences": { "enabled": false, "threshold": 2 }
|
|
}
|
|
!! wikitext
|
|
Test <ref>1</ref><ref>2</ref>
|
|
<references responsive="" />
|
|
!! html/parsoid
|
|
<p>Test <sup about="#mwt3" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup><sup about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2" style="counter-reset: mw-Ref 2;"><span class="mw-reflink-text">[2]</span></a></sup></p>
|
|
<div class="mw-references-wrap" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{"responsive":""}}'><ol class="mw-references references"><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">1</span></li><li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">2</span></li></ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
Responsive references: disabled, explicit, exceed
|
|
!! options
|
|
parsoid={
|
|
"responsiveReferences": { "enabled": false, "threshold": 1 }
|
|
}
|
|
!! wikitext
|
|
Test <ref>1</ref><ref>2</ref>
|
|
<references responsive="" />
|
|
!! html/parsoid
|
|
<p>Test <sup about="#mwt3" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup><sup about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2" style="counter-reset: mw-Ref 2;"><span class="mw-reflink-text">[2]</span></a></sup></p>
|
|
<div class="mw-references-wrap mw-references-columns" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{"responsive":""}}'><ol class="mw-references references"><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">1</span></li><li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">2</span></li></ol></div>
|
|
!! end
|
|
|
|
!! test
|
|
Responsive references: enabled, explicit off
|
|
!! options
|
|
parsoid={
|
|
"responsiveReferences": { "enabled": true, "threshold": 2 }
|
|
}
|
|
!! wikitext
|
|
Test <ref>1</ref><ref>2</ref>
|
|
<references responsive="0" />
|
|
!! html/parsoid
|
|
<p>Test <sup about="#mwt3" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup><sup about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-2"}}'><a href="./Parser_test#cite_note-2" style="counter-reset: mw-Ref 2;"><span class="mw-reflink-text">[2]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{"responsive":"0"}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">1</span></li><li about="#cite_note-2" id="cite_note-2"><a href="./Parser_test#cite_ref-2" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">2</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
Responsive references: roundtrip templates
|
|
!! options
|
|
parsoid={
|
|
"responsiveReferences": { "enabled": true, "threshold": 2 }
|
|
}
|
|
!! wikitext
|
|
test <ref>123</ref>
|
|
|
|
{{echo|haha<references/>}}
|
|
!! html/parsoid
|
|
<p>test <sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<p about="#mwt4" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"haha<references/>"}},"i":0}}]}'>haha</p><div class="mw-references-wrap" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'><ol class="mw-references references"><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">123</span></li></ol></div>
|
|
!! end
|
|
|
|
## End Parsoid responsive references tests
|
|
|
|
!! article
|
|
Template:CircularRef
|
|
!! text
|
|
<ref>Hi {{CircularRef}}</ref>
|
|
!! endarticle
|
|
|
|
!! test
|
|
CircularRef
|
|
!! wikitext
|
|
<ref>Hi {{CircularRef}}</ref>
|
|
<references />
|
|
!! html/php
|
|
<p><sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">Hi </span>
|
|
</li>
|
|
</ol></div>
|
|
<p><span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: <code><ref></code> tag defined in <code><references></code> has no name attribute.</span>
|
|
</p>
|
|
!! html/parsoid
|
|
<p><sup about="#mwt4" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">Hi <span about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"CircularRef","href":"./Template:CircularRef"},"params":{},"i":0}}]}'></span></span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
T15673: <ref> with direction "rtl"
|
|
!! wikitext
|
|
<ref dir="rtl">TEST</ref>
|
|
|
|
<references />
|
|
!! html/php
|
|
<p><sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-1" class="mw-cite-dir-rtl"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">TEST</span>
|
|
</li>
|
|
</ol></div>
|
|
!! html/parsoid
|
|
<p><sup about="#mwt4" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"dir":"rtl"},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1" class="mw-cite-dir-rtl"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">TEST</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
T15673: <ref> with direction "ltr"
|
|
!! wikitext
|
|
<ref dir="ltr">TEST</ref>
|
|
|
|
<references />
|
|
!! html/php
|
|
<p><sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-1" class="mw-cite-dir-ltr"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">TEST</span>
|
|
</li>
|
|
</ol></div>
|
|
!! html/parsoid
|
|
<p><sup about="#mwt4" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"dir":"ltr"},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1" class="mw-cite-dir-ltr"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">TEST</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
T15673: <ref> with direction "LTR", keeps upper case
|
|
!! wikitext
|
|
<ref dir="LTR">TEST</ref>
|
|
|
|
<references />
|
|
!! html/php
|
|
<p><sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-1" class="mw-cite-dir-ltr"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">TEST</span>
|
|
</li>
|
|
</ol></div>
|
|
!! html/parsoid
|
|
<p><sup about="#mwt4" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"dir":"LTR"},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1" class="mw-cite-dir-ltr"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">TEST</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
T15673: <ref> with direction "nonsense", strip invalid dir attribute and shows error
|
|
!! wikitext
|
|
<ref dir="nonsense">TEST</ref>
|
|
|
|
<references />
|
|
!! html/php
|
|
<p><sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">TEST<span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: Invalid <code><ref></code> tag; dir attribute "nonsense" is unknown. Must be ltr or rtl</span></span>
|
|
</li>
|
|
</ol></div>
|
|
!! html/parsoid
|
|
<p><sup about="#mwt4" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"dir":"nonsense"},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">TEST</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
T15673: Direction is supported when specifying name and group
|
|
!! wikitext
|
|
<ref dir="ltr" name="a" group="note">TEST</ref>
|
|
|
|
<references group="note" />
|
|
!! html/php
|
|
<p><sup id="cite_ref-a_1-0" class="reference"><a href="#cite_note-a-1">[note 1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-a-1" class="mw-cite-dir-ltr"><span class="mw-cite-backlink"><a href="#cite_ref-a_1-0">↑</a></span> <span class="reference-text">TEST</span>
|
|
</li>
|
|
</ol></div>
|
|
!! html/parsoid
|
|
<p><sup about="#mwt4" class="mw-ref" id="cite_ref-a_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"dir":"ltr","name":"a","group":"note"},"body":{"id":"mw-reference-text-cite_note-a-1"}}'><a href="./Parser_test#cite_note-a-1" style="counter-reset: mw-Ref 1;" data-mw-group="note"><span class="mw-reflink-text">[note 1]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" data-mw-group="note" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{"group":"note"}}'><li about="#cite_note-a-1" id="cite_note-a-1" class="mw-cite-dir-ltr"><a href="./Parser_test#cite_ref-a_1-0" data-mw-group="note" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-a-1" class="mw-reference-text">TEST</span></li></ol>
|
|
!! end
|
|
|
|
## Just to catch regressions in Parsoid's tree-building / p-wrapping
|
|
!! test
|
|
Ref with block content in formatting tag
|
|
!! wikitext
|
|
''hi<ref><div>ho</div></ref>''
|
|
<references />
|
|
!! html/parsoid
|
|
<p><i>hi<sup about="#mwt3" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Parser_test#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></i></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Parser_test#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"><div data-parsoid='{"stx":"html"}'>ho</div></span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
T196827: Use the dir parameter only from the full definition of a named ref tag
|
|
!! wikitext
|
|
abc<ref name="r1" />def
|
|
|
|
ghi<ref name="r1" dir="rtl">jkl</ref>mno
|
|
|
|
<references />
|
|
!! html/php
|
|
<p>abc<sup id="cite_ref-r1_1-0" class="reference"><a href="#cite_note-r1-1">[1]</a></sup>def
|
|
</p><p>ghi<sup id="cite_ref-r1_1-1" class="reference"><a href="#cite_note-r1-1">[1]</a></sup>mno
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-r1-1" class="mw-cite-dir-rtl"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-r1_1-0">1.0</a></sup> <sup><a href="#cite_ref-r1_1-1">1.1</a></sup></span> <span class="reference-text">jkl</span>
|
|
</li>
|
|
</ol></div>
|
|
!! html/parsoid
|
|
<p>abc<sup about="#mwt3" class="mw-ref" id="cite_ref-r1_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"r1"}}'><a href="./Parser_test#cite_note-r1-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup>def</p>
|
|
|
|
<p>ghi<sup about="#mwt6" class="mw-ref" id="cite_ref-r1_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"r1","dir":"rtl"},"body":{"id":"mw-reference-text-cite_note-r1-1"}}'><a href="./Parser_test#cite_note-r1-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup>mno</p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt7" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-r1-1" id="cite_note-r1-1" class="mw-cite-dir-rtl"><span rel="mw:referencedBy"><a href="./Parser_test#cite_ref-r1_1-0"><span class="mw-linkback-text">1 </span></a><a href="./Parser_test#cite_ref-r1_1-1"><span class="mw-linkback-text">2 </span></a></span> <span id="mw-reference-text-cite_note-r1-1" class="mw-reference-text">jkl</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
T196827: Ignore the dir parameter from the first use, which is not a full definition, and use the dir value from the full definition of a named ref tag
|
|
!! wikitext
|
|
abc<ref name="r1" dir="rtl" />def
|
|
|
|
ghi<ref name="r1">jkl</ref>mno
|
|
|
|
<references />
|
|
!! html/php
|
|
<p>abc<sup id="cite_ref-r1_1-0" class="reference"><a href="#cite_note-r1-1">[1]</a></sup>def
|
|
</p><p>ghi<sup id="cite_ref-r1_1-1" class="reference"><a href="#cite_note-r1-1">[1]</a></sup>mno
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-r1-1"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-r1_1-0">1.0</a></sup> <sup><a href="#cite_ref-r1_1-1">1.1</a></sup></span> <span class="reference-text">jkl</span>
|
|
</li>
|
|
</ol></div>
|
|
!! html/parsoid
|
|
<p>abc<sup about="#mwt3" class="mw-ref" id="cite_ref-r1_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"r1","dir":"rtl"}}'><a href="./Parser_test#cite_note-r1-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup>def</p>
|
|
|
|
<p>ghi<sup about="#mwt7" class="mw-ref" id="cite_ref-r1_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"r1"},"body":{"id":"mw-reference-text-cite_note-r1-1"}}'><a href="./Parser_test#cite_note-r1-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup>mno</p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt9" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-r1-1" id="cite_note-r1-1"><span rel="mw:referencedBy"><a href="./Parser_test#cite_ref-r1_1-0"><span class="mw-linkback-text">1 </span></a><a href="./Parser_test#cite_ref-r1_1-1"><span class="mw-linkback-text">2 </span></a></span> <span id="mw-reference-text-cite_note-r1-1" class="mw-reference-text">jkl</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
Similarly named refs with identical bodies
|
|
!! wikitext
|
|
1 <ref name="1">1</ref> 2 <ref name="1">1</ref>
|
|
|
|
<references />
|
|
!! html/parsoid
|
|
<p>1 <sup about="#mwt7" class="mw-ref" id="cite_ref-1_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"1"},"body":{"id":"mw-reference-text-cite_note-1-1"}}'><a href="./Parser_test#cite_note-1-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup> 2 <sup about="#mwt9" class="mw-ref" id="cite_ref-1_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"1"},"body":{"id":"mw-reference-text-cite_note-1-1"}}'><a href="./Parser_test#cite_note-1-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1-1" id="cite_note-1-1"><span rel="mw:referencedBy"><a href="./Parser_test#cite_ref-1_1-0"><span class="mw-linkback-text">1 </span></a><a href="./Parser_test#cite_ref-1_1-1"><span class="mw-linkback-text">2 </span></a></span> <span id="mw-reference-text-cite_note-1-1" class="mw-reference-text" data-parsoid="{}">1</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
T220196 - Reference names with high-bit characters, html5 mode
|
|
!! config
|
|
wgFragmentMode=['html5']
|
|
!! wikitext
|
|
<ref name="füllen">[bar]</ref>
|
|
<references />
|
|
!! html/php
|
|
<p><sup id="cite_ref-füllen_1-0" class="reference"><a href="#cite_note-füllen-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-füllen-1"><span class="mw-cite-backlink"><a href="#cite_ref-füllen_1-0">↑</a></span> <span class="reference-text">[bar]</span>
|
|
</li>
|
|
</ol></div>
|
|
!! html/parsoid
|
|
<p><sup about="#mwt2" class="mw-ref" id="cite_ref-füllen_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"füllen"},"body":{"id":"mw-reference-text-cite_note-füllen-1"}}'><a href="./Parser_test#cite_note-füllen_1-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt3" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-füllen-1" id="cite_note-füllen-1"><a href="./Parser_test#cite_ref-füllen-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-füllen-1" class="mw-reference-text" data-parsoid="{}">[bar]</span></li></ol>
|
|
!! end
|
|
|
|
!! test
|
|
T220196 - Reference names with high-bit characters, legacy mode
|
|
!! config
|
|
wgFragmentMode=['legacy']
|
|
!! wikitext
|
|
<ref name="füllen">[bar]</ref>
|
|
<references />
|
|
!! html/php
|
|
<p><sup id="cite_ref-f.C3.BCllen_1-0" class="reference"><a href="#cite_note-f.C3.BCllen-1">[1]</a></sup>
|
|
</p>
|
|
<div class="mw-references-wrap"><ol class="references">
|
|
<li id="cite_note-f.C3.BCllen-1"><span class="mw-cite-backlink"><a href="#cite_ref-f.C3.BCllen_1-0">↑</a></span> <span class="reference-text">[bar]</span>
|
|
</li>
|
|
</ol></div>
|
|
!! html/parsoid
|
|
<p><sup about="#mwt2" class="mw-ref" id="cite_ref-füllen_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"füllen"},"body":{"id":"mw-reference-text-cite_note-füllen-1"}}'><a href="./Parser_test#cite_note-füllen_1-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
|
|
<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt3" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-füllen-1" id="cite_note-füllen-1"><a href="./Parser_test#cite_ref-füllen-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-füllen-1" class="mw-reference-text" data-parsoid="{}">[bar]</span></li></ol>
|
|
!! end
|