Move Cite-specific settings from WikiEditor

The WikiEditor extension has a button and some help text that
is only applicable if the Cite extension is enabled. Move
that (with some modifications) to the Cite extension instead.

Bug: T339973
Depends-On: I8256660f9c6886d6764b45735284e00308fc56e5
Change-Id: Ib3fdc897dd3330f69c5832003d4c3cb1e6dba2f3
This commit is contained in:
Jon Harald Søby 2023-06-21 16:40:12 +02:00
parent bad83bbb21
commit c66371b3d9
10 changed files with 269 additions and 36 deletions

View file

@ -34,6 +34,7 @@ Jackmcbarn
James D. Forrester
Jan Paul Posma
Jens Frank
Jon Harald Søby
Jon Robson
Kaity Hammerstein
Kevin Brown

View file

@ -30,11 +30,15 @@
"ParserClearState": "parser",
"ParserCloned": "parser",
"ParserFirstCallInit": "parser",
"EditPage::showEditForm:initial": "main",
"ResourceLoaderGetConfigVars": "main"
},
"HookHandlers": {
"main": {
"class": "Cite\\Hooks\\CiteHooks"
"class": "Cite\\Hooks\\CiteHooks",
"services": [
"UserOptionsLookup"
]
},
"parser": {
"class": "Cite\\Hooks\\CiteParserHooks"
@ -185,6 +189,40 @@
"mobile"
]
},
"ext.cite.wikiEditor": {
"localBasePath": "modules",
"remoteExtPath": "Cite/modules",
"scripts": [
"ext.cite.wikiEditor.js"
],
"dependencies": [
"ext.wikiEditor",
"mediawiki.jqueryMsg",
"mediawiki.language"
],
"messages": [
"cite-wikieditor-tool-reference",
"cite-wikieditor-help-page-references",
"cite-wikieditor-help-content-reference-example-text1",
"cite-wikieditor-help-content-reference-example-text2",
"cite-wikieditor-help-content-reference-example-text3",
"cite-wikieditor-help-content-reference-example-ref-id",
"cite-wikieditor-help-content-reference-example-ref-normal",
"cite-wikieditor-help-content-reference-example-ref-named",
"cite-wikieditor-help-content-reference-example-ref-reuse",
"cite-wikieditor-help-content-reference-example-ref-result",
"cite-wikieditor-help-content-reference-example-reflist",
"cite-wikieditor-help-content-reference-description",
"cite-wikieditor-help-content-named-reference-description",
"cite-wikieditor-help-content-rereference-description",
"cite-wikieditor-help-content-showreferences-description",
"cite_reference_backlink_symbol"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.cite.ux-enhancements": {
"localBasePath": "modules",
"remoteExtPath": "Cite/modules",

View file

@ -43,10 +43,11 @@
"cite_reference_link_suffix": "",
"cite_references_link_prefix": "cite_note-",
"cite_references_link_suffix": "",
"cite_reference_backlink_symbol": "↑",
"cite_reference_link": "<sup id=\"$1\" class=\"reference\">[[#$2|&#91;$3&#93;]]</sup>",
"cite_references_no_link": "<p id=\"$1\">$2</p>",
"cite_references_link_one": "<li id=\"$1\"$4><span class=\"mw-cite-backlink\">[[#$2|]]</span> $3</li>",
"cite_references_link_many": "<li id=\"$1\"$4><span class=\"mw-cite-backlink\"> $2</span> $3</li>",
"cite_references_link_one": "<li id=\"$1\"$4><span class=\"mw-cite-backlink\">[[#$2|$5]]</span> $3</li>",
"cite_references_link_many": "<li id=\"$1\"$4><span class=\"mw-cite-backlink\">$5 $2</span> $3</li>",
"cite_references_link_many_format": "<sup>[[#$1|$2]]</sup>",
"cite_references_link_many_format_backlink_labels": "a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz ea eb ec ed ee ef eg eh ei ej ek el em en eo ep eq er es et eu ev ew ex ey ez fa fb fc fd fe ff fg fh fi fj fk fl fm fn fo fp fq fr fs ft fu fv fw fx fy fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ii ij ik il im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke kf kg kh ki kj kk kl km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp pq pr ps pt pu pv pw px py pz qa qb qc qd qe qf qg qh qi qj qk ql qm qn qo qp qq qr qs qt qu qv qw qx qy qz ra rb rc rd re rf rg rh ri rj rk rl rm rn ro rp rq rr rs rt ru rv rw rx ry rz sa sb sc sd se sf sg sh si sj sk sl sm sn so sp sq sr ss st su sv sw sx sy sz ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ua ub uc ud ue uf ug uh ui uj uk ul um un uo up uq ur us ut uu uv uw ux uy uz va vb vc vd ve vf vg vh vi vj vk vl vm vn vo vp vq vr vs vt vu vv vw vx vy vz wa wb wc wd we wf wg wh wi wj wk wl wm wn wo wp wq wr ws wt wu wv ww wx wy wz xa xb xc xd xe xf xg xh xi xj xk xl xm xn xo xp xq xr xs xt xu xv xw xx xy xz ya yb yc yd ye yf yg yh yi yj yk yl ym yn yo yp yq yr ys yt yu yv yw yx yy yz za zb zc zd ze zf zg zh zi zj zk zl zm zn zo zp zq zr zs zt zu zv zw zx zy zz",
"cite_references_link_many_sep": "&#32;",
@ -56,5 +57,20 @@
"cite_references_link_accessibility_back_label": "Jump back up",
"cite_section_preview_references": "Preview of references",
"cite_warning": "Cite warning: $1",
"cite_warning_sectionpreview_no_text": "<code>&lt;ref&gt;</code> tag with name <code>$1</code> cannot be previewed because it is defined outside the current section or not defined at all."
"cite_warning_sectionpreview_no_text": "<code>&lt;ref&gt;</code> tag with name <code>$1</code> cannot be previewed because it is defined outside the current section or not defined at all.",
"cite-wikieditor-tool-reference": "Reference",
"cite-wikieditor-help-page-references": "References",
"cite-wikieditor-help-content-reference-description": "Reference",
"cite-wikieditor-help-content-named-reference-description": "Named reference",
"cite-wikieditor-help-content-rereference-description": "Additional use of the same reference",
"cite-wikieditor-help-content-showreferences-description": "Display references",
"cite-wikieditor-help-content-reference-example-text1": "Page text.$1",
"cite-wikieditor-help-content-reference-example-text2": "[$1 Link text], additional text.",
"cite-wikieditor-help-content-reference-example-text3": "[$1 Link text]",
"cite-wikieditor-help-content-reference-example-ref-id": "test",
"cite-wikieditor-help-content-reference-example-ref-normal": "<ref>$1</ref>",
"cite-wikieditor-help-content-reference-example-ref-named": "<ref name=\"$1\">$2</ref>",
"cite-wikieditor-help-content-reference-example-ref-reuse": "<ref name=\"$1\" />",
"cite-wikieditor-help-content-reference-example-ref-result": "[$1]",
"cite-wikieditor-help-content-reference-example-reflist": "<references />"
}

View file

@ -47,10 +47,11 @@
"cite_reference_link_suffix": "{{notranslate}}",
"cite_references_link_prefix": "{{notranslate}}",
"cite_references_link_suffix": "{{ignored}}",
"cite_reference_backlink_symbol": "{{optional}}\nSymbol used for the reference section, used to link back to where the reference is used.",
"cite_reference_link": "{{notranslate}}\n\nParameters:\n* $1 - ref key\n* $2 - references key\n* $3 - link label",
"cite_references_no_link": "{{notranslate}}\n\nParameters:\n* $1 - references key\n* $2 - reference text",
"cite_references_link_one": "{{notranslate}}\n\nParameters:\n* $1 - references key\n* $2 - ref key\n* $3 - reference text\n* $4 - optional CSS class for direction",
"cite_references_link_many": "{{notranslate}}\n\nParameters:\n* $1 - references key\n* $2 - list of links\n* $3 - reference text\n* $4 - optional CSS class for direction",
"cite_references_link_one": "{{notranslate}}\n\nParameters:\n* $1 - references key\n* $2 - ref key\n* $3 - reference text\n* $4 - optional CSS class for direction\n* $5 - {{msg-mw|cite_reference_backlink_symbol}}",
"cite_references_link_many": "{{notranslate}}\n\nParameters:\n* $1 - references key\n* $2 - list of links\n* $3 - reference text\n* $4 - optional CSS class for direction\n* $5 - {{msg-mw|cite_reference_backlink_symbol}}",
"cite_references_link_many_format": "{{notranslate}}\n\nParameters:\n* $1 - reference key\n* $2 - canonical numeric backlink label for the link, always in the form \"1.2\"\n* $3 - optional alternate backlink label as defined via [[MediaWiki:cite_references_link_many_format_backlink_labels]]",
"cite_references_link_many_format_backlink_labels": "{{Optional}}",
"cite_references_link_many_sep": "{{notranslate}}",
@ -60,5 +61,20 @@
"cite_references_link_accessibility_back_label": "Text for screen readers to describe the jump back to the last citation clicked for citations used in multiple places.",
"cite_section_preview_references": "Header for the section providing a preview of references in section preview",
"cite_warning": "Used when there are warnings about ref or references tags (less severe than errors).\n\nParameters:\n* $1 - a warning message",
"cite_warning_sectionpreview_no_text": "This warning occurs when the tag <code>&lt;ref name=\"something\"/&gt;</code> is used with the name-option specified but the definition for this named ref is outside of the currently being previewed section, or not defined at all.\n\nParameters:\n* $1 - key of the ref"
"cite_warning_sectionpreview_no_text": "This warning occurs when the tag <code>&lt;ref name=\"something\"/&gt;</code> is used with the name-option specified but the definition for this named ref is outside of the currently being previewed section, or not defined at all.\n\nParameters:\n* $1 - key of the ref",
"cite-wikieditor-tool-reference": "Tooltip for the insert reference button in the WikiEditor tool bar.\n\n{{doc-jqueryMsg}}",
"cite-wikieditor-help-page-references": "Header for the reference section in WikiEditor's help menu.\n\n{{doc-jqueryMsg}}",
"cite-wikieditor-help-content-reference-description": "Row header in WikiEditor's reference help section.\n\n{{doc-jqueryMsg}}",
"cite-wikieditor-help-content-named-reference-description": "Row header in WikiEditor's reference help section.\n\n{{doc-jqueryMsg}}",
"cite-wikieditor-help-content-rereference-description": "Row header in WikiEditor's reference help section.\n\n{{doc-jqueryMsg}}",
"cite-wikieditor-help-content-showreferences-description": "Row header in WikiEditor's reference help section.\n\n{{doc-jqueryMsg}}",
"cite-wikieditor-help-content-reference-example-text1": "Short sample text with a reference.\n\nParameters:\n* $1 - a &lt;ref&gt; tag\n\n{{doc-jqueryMsg}}",
"cite-wikieditor-help-content-reference-example-text2": "Short sample of something that can be put between &lt;ref&gt; tags.\n\nParameters:\n* $1 - a URL\n\n{{doc-jqueryMsg}}",
"cite-wikieditor-help-content-reference-example-text3": "Short sample of external link syntax.\n\nParameters:\n* $1 - a URL\n\n{{doc-jqueryMsg}}",
"cite-wikieditor-help-content-reference-example-ref-id": "{{optional}}\nUsed as an example of a name for a reference.",
"cite-wikieditor-help-content-reference-example-ref-normal": "{{ignored}}",
"cite-wikieditor-help-content-reference-example-ref-named": "{{ignored}}",
"cite-wikieditor-help-content-reference-example-ref-reuse": "{{ignored}}",
"cite-wikieditor-help-content-reference-example-ref-result": "{{ignored}}",
"cite-wikieditor-help-content-reference-example-reflist": "{{ignored}}"
}

View file

@ -0,0 +1,112 @@
/**
* Add Cite-specific functionality to the WikiEditor toolbar.
* Adds a button to insert <ref> tags, and adds a help section
* about how to use references to WikiEditor's help panel.
*
* @author Jon Harald Søby
*/
$( function () {
mw.hook( 'wikiEditor.toolbarReady' ).add( function ( $textarea ) {
/* Add the <ref></ref> button to the toolbar */
$textarea.wikiEditor( 'addToToolbar', {
section: 'main',
group: 'insert',
tools: {
reference: {
labelMsg: 'cite-wikieditor-tool-reference',
filters: [ 'body.ns-subject' ],
type: 'button',
oouiIcon: 'reference',
action: {
type: 'encapsulate',
options: {
pre: '<ref>',
post: '</ref>'
}
}
}
}
} );
/* Add reference help to the Help section */
var parsedRef = function ( number ) {
return $( '<sup>' )
.addClass( 'reference' )
.append(
$( '<a>' )
.attr( 'href', '#' )
.text(
mw.message( 'cite-wikieditor-help-content-reference-example-ref-result', mw.language.convertNumber( number ) ).text()
)
);
};
$textarea.wikiEditor( 'addToToolbar', {
section: 'help',
pages: {
references: {
labelMsg: 'cite-wikieditor-help-page-references',
layout: 'table',
headings: [
{ textMsg: 'wikieditor-toolbar-help-heading-description' },
{ textMsg: 'wikieditor-toolbar-help-heading-syntax' },
{ textMsg: 'wikieditor-toolbar-help-heading-result' }
],
rows: [
{
description: { html: mw.message( 'cite-wikieditor-help-content-reference-description' ).parse() },
syntax: {
html: mw.html.escape(
mw.message( 'cite-wikieditor-help-content-reference-example-text1', mw.message( 'cite-wikieditor-help-content-reference-example-ref-normal', mw.message( 'cite-wikieditor-help-content-reference-example-text2', 'https://www.example.org/' ).plain() ).plain() ).plain()
)
},
result: {
html: mw.message( 'cite-wikieditor-help-content-reference-example-text1', parsedRef( 1 ) ).parse()
}
},
{
description: { html: mw.message( 'cite-wikieditor-help-content-named-reference-description' ).parse() },
syntax: {
html: mw.html.escape(
mw.message( 'cite-wikieditor-help-content-reference-example-text1', mw.message( 'cite-wikieditor-help-content-reference-example-ref-named', mw.message( 'cite-wikieditor-help-content-reference-example-ref-id' ).plain(), mw.message( 'cite-wikieditor-help-content-reference-example-text3', 'https://www.example.org/' ).plain() ).plain() ).plain()
)
},
result: {
html: mw.message( 'cite-wikieditor-help-content-reference-example-text1', parsedRef( 2 ) ).parse()
}
},
{
description: { html: mw.message( 'cite-wikieditor-help-content-rereference-description' ).parse() },
syntax: {
html: mw.html.escape(
mw.message( 'cite-wikieditor-help-content-reference-example-text1', mw.message( 'cite-wikieditor-help-content-reference-example-ref-reuse', mw.message( 'cite-wikieditor-help-content-reference-example-ref-id' ).plain() ).plain() ).plain()
)
},
result: {
html: mw.message( 'cite-wikieditor-help-content-reference-example-text1', parsedRef( 2 ) ).parse()
}
},
{
description: { html: mw.message( 'cite-wikieditor-help-content-showreferences-description' ).parse() },
syntax: {
html: mw.message( 'cite-wikieditor-help-content-reference-example-reflist' ).escaped()
},
result: {
html: '<ol class="references">' +
'<li><span class="mw-cite-backlink"><a href="#">' +
mw.message( 'cite_reference_backlink_symbol' ).parse() + '</a></span> ' +
mw.message( 'cite-wikieditor-help-content-reference-example-text2', window.location.href + '#' ).parse() +
'</li>' +
'<li><span class="mw-cite-backlink"><a href="#">' +
mw.message( 'cite_reference_backlink_symbol' ).parse() +
'</a></span> ' +
mw.message( 'cite-wikieditor-help-content-reference-example-text3', window.location.href + '#' ).parse() +
'</li></ol>'
}
}
]
}
}
} );
} );
}() );

View file

@ -8,16 +8,36 @@ namespace Cite\Hooks;
use ApiQuerySiteinfo;
use Config;
use ExtensionRegistry;
use MediaWiki\Api\Hook\APIQuerySiteInfoGeneralInfoHook;
use MediaWiki\EditPage\EditPage;
use MediaWiki\Hook\EditPage__showEditForm_initialHook;
use MediaWiki\ResourceLoader\Hook\ResourceLoaderGetConfigVarsHook;
use MediaWiki\Revision\Hook\ContentHandlerDefaultModelForHook;
use MediaWiki\User\UserOptionsLookup;
use OutputPage;
use Title;
/**
* @phpcs:disable MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName
*/
class CiteHooks implements
ContentHandlerDefaultModelForHook,
ResourceLoaderGetConfigVarsHook,
APIQuerySiteInfoGeneralInfoHook
APIQuerySiteInfoGeneralInfoHook,
EditPage__showEditForm_initialHook
{
/** @var UserOptionsLookup */
private $userOptionsLookup;
/**
* @param UserOptionsLookup $userOptionsLookup
*/
public function __construct( UserOptionsLookup $userOptionsLookup ) {
$this->userOptionsLookup = $userOptionsLookup;
}
/**
* Convert the content model of a message that is actually JSON to JSON. This
* only affects validation and UI when saving and editing, not loading the
@ -62,4 +82,29 @@ class CiteHooks implements
$results['citeresponsivereferences'] = $module->getConfig()->get( 'CiteResponsiveReferences' );
}
/**
* Hook: EditPage::showEditForm:initial
*
* Add the module for WikiEditor
*
* @param EditPage $editPage the current EditPage object.
* @param OutputPage $outputPage object.
*/
public function onEditPage__showEditForm_initial( $editPage, $outputPage ) {
if ( $editPage->contentModel !== CONTENT_MODEL_WIKITEXT ) {
return;
}
$wikiEditorEnabled = ExtensionRegistry::getInstance()->isLoaded( 'WikiEditor' );
$user = $editPage->getArticle()->getContext()->getUser();
if (
$wikiEditorEnabled &&
$this->userOptionsLookup->getBoolOption( $user, 'usebetatoolbar' )
) {
$outputPage->addModules( 'ext.cite.wikiEditor' );
}
}
}

View file

@ -181,7 +181,8 @@ class ReferencesFormatter {
$this->anchorFormatter->getReferencesKey( $id ),
$backlinkId,
$text . $error,
$extraAttributes
$extraAttributes,
$this->messageLocalizer->msg( 'cite_reference_backlink_symbol' )->parse()
)->plain();
}
@ -206,7 +207,8 @@ class ReferencesFormatter {
$this->anchorFormatter->getReferencesKey( $key . '-' . ( $val['key'] ?? '' ) ),
$this->listToText( $backlinks ),
$text . $error,
$extraAttributes
$extraAttributes,
$this->messageLocalizer->msg( 'cite_reference_backlink_symbol' )->parse()
)->plain();
}

View file

@ -5,6 +5,7 @@ namespace Cite\Tests;
use ApiQuerySiteinfo;
use Cite\Hooks\CiteHooks;
use MediaWiki\MediaWikiServices;
use MediaWiki\User\StaticUserOptionsLookup;
/**
* @coversDefaultClass \Cite\Hooks\CiteHooks
@ -20,7 +21,8 @@ class CiteHooksTest extends \MediaWikiIntegrationTestCase {
$vars = [];
$config = MediaWikiServices::getInstance()->getMainConfig();
$citeHooks = new CiteHooks();
$citeHooks = new CiteHooks( new StaticUserOptionsLookup( [] ) );
$citeHooks->onResourceLoaderGetConfigVars( $vars, 'vector', $config );
$this->assertArrayHasKey( 'wgCiteVisualEditorOtherGroup', $vars );
@ -38,7 +40,7 @@ class CiteHooksTest extends \MediaWikiIntegrationTestCase {
$data = [];
$citeHooks = new CiteHooks();
$citeHooks = new CiteHooks( new StaticUserOptionsLookup( [] ) );
$citeHooks->onAPIQuerySiteInfoGeneralInfo( $api, $data );
$this->assertArrayHasKey( 'citeresponsivereferences', $data );

View file

@ -3,6 +3,7 @@
namespace Cite\Tests\Unit;
use Cite\Hooks\CiteHooks;
use MediaWiki\User\StaticUserOptionsLookup;
use Title;
/**
@ -19,7 +20,7 @@ class CiteHooksUnitTest extends \MediaWikiUnitTestCase {
$title->method( 'getText' )
->willReturn( 'Cite-tool-definition.json' );
$citeHooks = new CiteHooks();
$citeHooks = new CiteHooks( new StaticUserOptionsLookup( [] ) );
$citeHooks->onContentHandlerDefaultModelFor( $title, $model );
$this->assertSame( CONTENT_MODEL_JSON, $model );

View file

@ -68,7 +68,7 @@ class ReferencesFormatterTest extends \MediaWikiUnitTestCase {
],
'<div class="mw-references-wrap"><ol class="references">' . "\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t</span>' .
"\n|)</li>\n</ol></div>"
"\n||)</li>\n</ol></div>"
],
'Ref with extends' => [
[
@ -91,11 +91,11 @@ class ReferencesFormatterTest extends \MediaWikiUnitTestCase {
],
'<div class="mw-references-wrap"><ol class="references">' . "\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t1</span>' . "\n" .
'|)<ol class="mw-extended-references"><li>(cite_references_link_many|||' .
'<span class="reference-text">t2</span>' . "\n|)</li>\n" .
'||)<ol class="mw-extended-references"><li>(cite_references_link_many|||' .
'<span class="reference-text">t2</span>' . "\n||)</li>\n" .
"</ol></li>\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t3</span>' .
"\n|)</li>\n" .
"\n||)</li>\n" .
'</ol></div>'
],
'Subref of subref' => [
@ -122,11 +122,11 @@ class ReferencesFormatterTest extends \MediaWikiUnitTestCase {
],
'<div class="mw-references-wrap"><ol class="references">' . "\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t3</span>' . "\n" .
'|)<ol class="mw-extended-references"><li>(cite_references_link_many|||' .
'||)<ol class="mw-extended-references"><li>(cite_references_link_many|||' .
'<span class="reference-text">t1 (cite_error_ref_nested_extends|a|b)</span>' .
"\n|)</li>\n" .
"\n||)</li>\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t2</span>' .
"\n|)</li>\n</ol></li>\n" .
"\n||)</li>\n</ol></li>\n" .
'</ol></div>'
],
'Use columns' => [
@ -138,27 +138,27 @@ class ReferencesFormatterTest extends \MediaWikiUnitTestCase {
),
'<div class="mw-references-wrap mw-references-columns"><ol class="references">' .
"\n" . '<li>(cite_references_link_many|||<span class="reference-text">t</span>' .
"\n|)</li>\n" .
"\n||)</li>\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t</span>' .
"\n|)</li>\n" .
"\n||)</li>\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t</span>' .
"\n|)</li>\n" .
"\n||)</li>\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t</span>' .
"\n|)</li>\n" .
"\n||)</li>\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t</span>' .
"\n|)</li>\n" .
"\n||)</li>\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t</span>' .
"\n|)</li>\n" .
"\n||)</li>\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t</span>' .
"\n|)</li>\n" .
"\n||)</li>\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t</span>' .
"\n|)</li>\n" .
"\n||)</li>\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t</span>' .
"\n|)</li>\n" .
"\n||)</li>\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t</span>' .
"\n|)</li>\n" .
"\n||)</li>\n" .
'<li>(cite_references_link_many|||<span class="reference-text">t</span>' .
"\n|)</li>\n</ol></div>"
"\n||)</li>\n</ol></div>"
],
];
}
@ -241,7 +241,7 @@ class ReferencesFormatterTest extends \MediaWikiUnitTestCase {
[
'text' => 't',
],
'(cite_references_link_many|1-||<span class="reference-text">t</span>' . "\n|)"
'(cite_references_link_many|1-||<span class="reference-text">t</span>' . "\n||)"
],
'With dir' => [
1,
@ -250,7 +250,7 @@ class ReferencesFormatterTest extends \MediaWikiUnitTestCase {
'text' => 't',
],
'(cite_references_link_many|1-||<span class="reference-text">t</span>' .
"\n" . '| class="mw-cite-dir-rtl")'
"\n" . '| class="mw-cite-dir-rtl"|)'
],
'Incomplete follow' => [
1,
@ -267,7 +267,7 @@ class ReferencesFormatterTest extends \MediaWikiUnitTestCase {
'key' => 5,
'text' => 't',
],
'(cite_references_link_one|1-5|1+5-0|<span class="reference-text">t</span>' . "\n|)"
'(cite_references_link_one|1-5|1+5-0|<span class="reference-text">t</span>' . "\n||)"
],
'Count negative' => [
1,
@ -277,7 +277,7 @@ class ReferencesFormatterTest extends \MediaWikiUnitTestCase {
'number' => 3,
'text' => 't',
],
'(cite_references_link_one|5|5+|<span class="reference-text">t</span>' . "\n|)"
'(cite_references_link_one|5|5+|<span class="reference-text">t</span>' . "\n||)"
],
'Count positive' => [
1,
@ -292,7 +292,7 @@ class ReferencesFormatterTest extends \MediaWikiUnitTestCase {
'(cite_references_link_many_sep)(cite_references_link_many_format|1+5-1|3.1|' .
'(cite_error_references_no_backlink_label))(cite_references_link_many_and)' .
'(cite_references_link_many_format|1+5-2|3.2|(cite_error_references_no_backlink_label' .
'))|<span class="reference-text">t</span>' . "\n|)"
'))|<span class="reference-text">t</span>' . "\n||)"
],
];
}