Project:Extension tests

From Notaclue Wiki

The following are tests of the extensions running on the wiki. Where applicable, if the "Test" value matches the "Expected" value, the extension can be assumed to be working.

Abuse Filter[edit source]

This should be a valid link: Special:AbuseFilter

Admin Links[edit source]

This should be a valid link: Special:AdminLinks

If you are an admin, you should see links by your personal tools.

AdvancedSearch[edit source]

If #CirrusSearch is enabled, the extension produces the "Advanced Search" form on Special:Search.

AJAX Poll[edit source]

Test
Question
You are not entitled to vote.
You are not entitled to view results of this poll.
There was one vote since the poll was created on 13:12, 24 November 2021.
poll-id 99682D26EB606BA0DAF4C95522104E0F

Expected
A poll

AntiSpoof[edit source]

On Special:CreateAccount, choosing a name with a different capitalization of an existing user (e.g. WikiTEQ if the account WikiTeq exists) should show an error (without needing to submit the form). Make sure to test with an account that does not have the override-antispoof right (see Special:ListGroupRights for configuration).

Approved Revs[edit source]

This should be a valid link: Special:ApprovedRevs

Arrays[edit source]

Test
orange, red, yellow, yellow
Expected
orange, red, yellow, yellow

BetaFeatures[edit source]

Special:Preferences should have the "Beta Features" tab.

Bootstrap[edit source]

This test should be done while using the Chameleon skin; view page with useskin=chameleon

This should be a greeny shadowed alert box with white text:

I am bootstrapped

BootstrapComponents[edit source]

Should be an accordion below:

Headline for Panel1

Text inside the panel

Headline for Panel2

Text inside the panel

Headline for Panel3

Text inside the panel

Headline for Panel4

Text inside the panel

BreadCrumbs2[edit source]

Add the following to the MediaWiki:Breadcrumbs:

* Tests @ [[Project:Extension_tests|Extension tests]] > [[:Category:Tests|Tests]] >

The breadcrumbs shall be created at the top of the Project:Extension_tests.

Buggy[edit source]

Javascript exception Exception in module ext.Buggy.startup shall be fired.

Cargo[edit source]

The Special:CargoTables should exist

CategoryTree[edit source]

A category tree should be shown:

ChangeAuthor[edit source]

This should be a valid link: Special:ChangeAuthor

CharInsert[edit source]

Test
Á
Expected
Á

CheckUser[edit source]

This should be a valid link: Special:CheckUser

CirrusSearch[edit source]

To test that the extension is loaded, the following link (using the cirrusDumpQuery parameter) should show a JSON object with details of the search:

To test that the indexer is working, add some custom string to this section that does not currently show up in Special:Search and then confirm that it shows up - this may take a few reloads. We want a string not currently in use so that we can check that new edits get indexed. If it works, revert the addition.

Cite[edit source]

Test
Text[1]
  1. Test
Expected
Text[1]
  1. Jump up Test

CiteThisPage[edit source]

This should be a valid link: Special:CiteThisPage

Citoid[edit source]

There should be an option to insert citations in the 2017 wikitext editor and, if installed, the VisualEditor. See mediawikiwiki:Citoid/Enabling Citoid on your wiki for how this option should appear.

Make sure that MediaWiki:Cite-tool-definition.json is configured, see mediawikiwiki:VisualEditor/Citation tool for details.

Cloudflare[edit source]

A test could not be created. The extension must be listed on Special:Version.

CodeEditor[edit source]

This should open in the ACE editor interface: edit

CodeMirror[edit source]

  • The "Editing" tab on Special:Preferences should have the "Enable colorblind-friendly mode" checkbox ("Accessibility" section).

CommentStreams[edit source]

You should see the "Add comment" button below the content on the wiki page.

CommonsMetadata[edit source]

The imageinfo API query module should include added information sourced from this extension. This can be tested using Special:ApiSandbox.

  • go to Special:ApiSandbox
  • choose action to be query
  • set the titles to include the name of a file on the wiki
  • set the prop to be imageinfo
  • set the iiprop to be extmetadata
  • make the request
  • verify that the results include commons metadata details

ContactPage[edit source]

This should be a valid link: Contact us

CookieWarning[edit source]

The ext.CookieWarning ResourceLoader module should be registered; in the developer console running mw.loader.getState('ext.CookieWarning'); should return a string (rather than null).

Data Transfer[edit source]

This should be a valid link: Special:ImportCSV

DeleteBatch[edit source]

This should be a valid link: Special:DeleteBatch

Description2[edit source]

This should produce "Description2 works!" in the description meta tag of this page head. {{#description2:Description2 works!}}

Disambiguator[edit source]

Test
Expected
(nothing)

DiscussionTools[edit source]

This should be a valid link: Special:FindComment

DismissableSiteNotice[edit source]

The ext.dismissableSiteNotice ResourceLoader module should be registered; in the developer console running mw.loader.getState('ext.dismissableSiteNotice'); should return a string (rather than null).

DisplayTitle[edit source]

Expected

Project:Extension tests

Result

Project:Extension tests

DynamicPageList3[edit source]

Test
Expected
  • A link to a page

Echo[edit source]

This should be a valid link: Special:Notifications

EditAccount[edit source]

This should be a valid link: Special:EditAccount

Editcount[edit source]

An integer should follow: 6,424

Elastica[edit source]

Usually, it is a dependency of CirrusSearch. If CirrusSearch test is passed, Elastica works. The extension must be listed on Special:Version.

EmbedVideo[edit source]

Two videos should be below:

EventLogging[edit source]

The ext.eventLogging ResourceLoader module should be registered; in the developer console running mw.loader.getState('ext.eventLogging'); should return a string (rather than null).

Note: this only confirms that the extension is available, the actual integration of the logging with the configured backend must be tested separately.

EventStreamConfig[edit source]

External Data[edit source]

Test 
Europe
Expected
Europe

Flex Diagrams[edit source]

BPMN:Extension tests should provide the "Create diagram" tab.

Gadgets[edit source]

  • This link must not contain the error message "Notaclue Wiki does not have namespace "2300".
  • You have gadgets!

GlobalNotice[edit source]

If there is not already a global notice at the top of the page, create one by editing one of the following pages. We want to be as unobtrusive as possible in our testing, so ideally, use an account with bureaucrat rights and test the bureaucrat-only message, but if you don't have access to such an account, use the sysop-only message.

Edit MediaWiki:globalnotice-bureaucrat (or MediaWiki:globalnotice-sysop if not a bureaucrat) and confirm that the resulting content is shown at the top of the page for bureaucrats (or sysops, if that message was edited) but not for users that are not part of those groups.

After finishing the test, be sure to revert your changes - if you just created the page, it can be disabled by blanking it or replacing it with -.

GoogleAnalyticsMetrics[edit source]

An integer should be displayed: {{#GoogleAnalyticsMetrics:metric=pageviews}}

GoogleDocCreator[edit source]

This should be a valid link: Special:GoogleDocCreator

GoogleDocTag[edit source]

The google documents should be embedded below (adjust the id if needed):

GoogleLogin[edit source]

This should be a valid link: Special:ManageGoogleLogin

Graph[edit source]

An interactive graph should follow:

<graph mode=interactive title="Stock Market"> {

 "version": 2,
 "width": 650,
 "height": 300,
 "padding": "strict",
 "signals": [
   {
     "name": "indexDate",
     "init": {"expr": "time('Jan 1 2005')"},
     "streams": [{
       "type": "mousemove",
       "expr": "clamp(eventX(), 0, eventGroup('root').width)",
       "scale": {"name": "x", "invert": true}
     }]
   },
   {"name": "maxDate", "init": {"expr": "time('Mar 1 2010')"}}
 ],
 "data": [
   {
     "name": "stocks",
     "url": "wikiraw:///Extension:Graph/data/stocks-csv",
     "format": {"type": "csv", "parse": {"price":"number", "date":"date"}}
   },
   {
     "name": "index",
     "source": "stocks",
     "transform": [{
       "type": "filter",
       "test": "month(datum.date) == month(indexDate) && year(datum.date) == year(indexDate)"
     }]
   },
   {
     "name": "indexified_stocks",
     "source": "stocks",
     "transform": [{
       "type": "lookup",
       "on": "index", "onKey": "symbol",
       "keys": ["symbol"], "as": ["index_term"],
       "default": {"price": 0}
     }, {
       "type": "formula",
       "field": "indexed_price",
       "expr": "datum.index_term.price > 0 ? (datum.price - datum.index_term.price)/datum.index_term.price : 0"
     }]
   }
 ],
 "scales": [
   {
     "name": "x",
     "type": "time",
     "domain": {"data": "stocks", "field": "date"},
     "range": "width"
   },
   {
     "name": "y",
     "type": "linear",
     "domain": {"data": "indexified_stocks", "field": "indexed_price"},
     "range": "height",
     "nice": true
   },
   {
     "name": "color", 
     "type": "ordinal", 
     "domain": {"data": "stocks", "field": "symbol"},
     "range": "category10"
   }
 ],
 "axes": [
   {"type": "y", "scale": "y", "grid": true, "layer": "back", "format": "%"}
 ],
 "marks": [
   {
     "type": "group",
     "from": {
       "data": "indexified_stocks",
       "transform": [{"type": "facet", "groupby": ["symbol"]}]
     },
     "marks": [
       {
         "type": "line",
         "properties": {
           "update": {
             "x": {"scale": "x", "field": "date"},
             "y": {"scale": "y", "field": "indexed_price"},
             "stroke": {"scale": "color", "field": "symbol"},
             "strokeWidth": {"value": 2}
           }
         }
       },
       {
         "type": "text",
         "from": {
           "transform": [{"type": "filter", "test": "datum.date == maxDate"}]
         },
         "properties": {
           "update": {
             "x": {"scale": "x", "field": "date", "offset": 2},
             "y": {"scale": "y", "field": "indexed_price"},
             "fill": {"scale": "color", "field": "symbol"},
             "text": {"field": "symbol"},
             "baseline": {"value": "middle"}
           }
         }
       }
     ]
   },
   {
     "type":"rule",
     "properties": {
       "update": {
         "x": {"field": {"group": "x"}},
         "x2": {"field": {"group": "width"}},
         "y": {"scale": "y", "value": 0},
         "stroke": {"value": "black"},
         "strokeWidth": {"value": 1}
       }
     }
   },
   {
     "type":"rule",
     "properties": {
       "update": {
         "x": {"scale": "x", "signal": "indexDate"},
         "y": {"value": 0},
         "y2": {"field": {"group": "height"}},
         "stroke": {"value": "red"}
       }
     }
   },
   {
     "type":"text",
     "properties": {
       "update": {
         "x": {"scale": "x", "signal": "indexDate"},
         "y2": {"field": {"group": "height"}, "offset": 15},
         "align": {"value": "center"},
         "text": {"template": "\u007B{indexDate | time: '%b %Y'}}"},
         "fill": {"value": "red"}
       }
     }
   }
 ]

} </graph>

Header Tabs[edit source]

Two tabs should be visible below.

[edit]

Content

[edit]

More content

HeaderFooter[edit source]

The content of MediaWiki:hf-footer-Project:Extension tests (

I am Footer

) must be shown as a footer on the current page.

<div class="card bg-dark text-white">
<div class="card-body font-weight-bold text-center">I am Footer</div>
</div>

HeadScript[edit source]

The contents of $wgHeadScriptCode should be included in the <head> of the page.

HTML Tags[edit source]

Should be a link or something else allowed by $wgHTMLTagsAttributes variable: Read about Antarctica

IframePage[edit source]

This should be a valid link: Special:IframePage

ImageMap[edit source]

Error: Image is invalid or non-existent.

InputBox[edit source]

Test
Expected
An input box

Interwiki[edit source]

This should be a valid link: Special:Interwiki

LabeledSectionTransclusion[edit source]

Test 
This is a test.
Expected
This is a test.

NOTE: In this case, the "Section by heading" must be a section in the page that is to be transcluded.

Test 

This is a section with a heading

Expected
This is a section with a heading
<section begin=test1 />This is a test.<section end=test1 />
Some text ...
=== Section by heading ===
This is a section with a heading

Lazyload[edit source]

Pages with images should load the initial display without the image rendering properly, and the actual content will be later filled in via JavaScript.

Lingo[edit source]

Test
Terminology
Expected
Whatever except ⧼Lingo-termeinologypagename⧽

Hovering over the abbreviation below should display a popup with the definition:

LinkSuggest[edit source]

When in the source editor, starting a link with [[ and then a few characters should generate a list of suggestions based on existing pages on the wiki.

LinkTarget[edit source]

If $wgLinkTargetParentClasses = [ 'target-blank' ]; is added to LocalSettings.php

Default target for external links[edit source]

Depends on $wgExternalLinkTarget = '_blank';

This should open in new tab / window.

Linter[edit source]

Special:LintErrors should list different categories of lint errors. Since ideally a wiki has no lint errors on the real pages, create Project:Extension tests/Linter as specified below, to ensure that there is a lint error. Check that it is then listed on Special:LintErrors/wikilink-in-extlink - it may take a short white to appear.

This page intentionally has a lint error. Please do not fix it!

[https://wikiteq.com/ is the external link with [[internal]] as an internal link]

Liquid Threads[edit source]

The following should not produce the "Unrecognized value for parameter \"list\": threads" warning: List threads

LockAuthor[edit source]

editall right should be present here.

Lockdown[edit source]

  • Check the values of the configuration settings $wgNamespacePermissionLockdown, $wgSpecialPageLockdown, and $wgActionLockdown
  • Identify an action that should be allowed by other configuration on the wiki, but prevented by one of these settings
  • Try to perform that action
  • Confirm that an error message is shown about lacking permission

LookupUser[edit source]

This should be a valid link: LookupUser

Loops[edit source]

Note
this extension requires that the Variables extension also be installed
Test 
123
Expected 
1 2 3

LuaCache[edit source]

Module:LuaCache[edit source]

Test
Value in cache
Expected
Value in cache
Source of Module:LuaCache
local p = {}
local cache = require 'mw.ext.LuaCache'
function p.set(frame)
	cache.set('luacache-extension-test', 'Value in cache')
end
function p.get(frame)
	return tostring( cache.get('luacache-extension-test') )
end
return p

MagicNoCache[edit source]

The table cell should be empty:

Maps[edit source]

Variant 1
Loading map...
Test 
52° 30' 58.57" N, 13° 22' 39.73" E
Expected
52° 30' 58.59" N, 13° 22' 39.73" E
Variant 2
Loading map...
Test 
52° 30' 58.57" N, 13° 22' 39.73" E
Expected
52° 30' 58.59" N, 13° 22' 39.73" E

MassMessage[edit source]

Special:ListGrants should list massmessage permission.

MassMessageEmail[edit source]

MassPasswordReset[edit source]

This should be a valid link: Special:MassPasswordReset

Math[edit source]

Test
Expected
∫(x,y)∈Cx3dx+4y2dy (but much better-looking)

See also: Special:MathStatus

Matomo[edit source]

The page source should contain an HTML comment <!-- Matomo --> followed by a <script>.

Mermaid[edit source]

MintyDocs[edit source]

This link should not produce "MediaWiki does not have namespace "620"" warning": Draft

This should be a valid link: Special:MintyDocsCreateDraft

MobileDetect[edit source]

Test
Mobile
Desktop
Expected
Either "Desktop" or "Mobile"

MobileFrontend[edit source]

Mpdf[edit source]

download this page as a PDF file

MsUpload[edit source]

This should have an upload box: edit

MultimediaViewer[edit source]

Clicking this should pop up a nice lightbox image viewer or, in case MMV is disabled by default, this should open the file page with the Open in Media Viewer button:

Error creating thumbnail: File missing

MyVariables[edit source]

Test 
172.71.254.33
Expected 
Your user name or the IP for anonymous users

NCBITaxonomyLookup[edit source]

Test

Ranoidea aurea

Expected

Ranoidea aurea

NewUserMessage[edit source]

The username specified at MediaWiki:Newusermessage-editor (currently "New user message") must not be usable. This can be tested using the validatepassword API endpoint using Special:ApiSandbox.

  • go to Special:ApiSandbox
  • choose action to be validatepassword
  • set the user to be New user message
  • set the password to be some non-empty string
  • make the request
  • verify that the failure error code is baduser_user and not userexists or something else

Nuke[edit source]

This should be a valid link: Special:Nuke

NumerAlpha[edit source]

It should be Roman numeral below:

i.
ii.
iii.
iv.
v.

OATHAuth[edit source]

This should be a valid link: Special:OATHAuth

OpenGraphMeta[edit source]

Test
Error creating thumbnail: File missing
Expected
Error creating thumbnail: File missing

Page Exchange[edit source]

This should be a valid link: Special:Packages

Page Schemas[edit source]

This should be a valid link: Special:EditSchema

PageForms[edit source]

This should be a valid link: Special:Forms

PageImages[edit source]

PagePort[edit source]

A test could not be created. The extension must be listed on Special:Version.

ParserFunctions[edit source]

Test math functions
10
Expected 
10
Test string functions
8
Expected 
8

PDF Handler[edit source]

You should see the content of the uploaded PDF (ExamplePDF.pdf):

Error creating thumbnail: File missing

PDFEmbed[edit source]

You should see the content of the uploaded PDF (ExamplePDF.pdf):

load PDF

The line $wgPdfEmbed['iframe'] = false; should be added to LocalSettings.php to use the <object> tag for the embed pdf files because iframe does not work in Firefox (WIK-1376)

Poem[edit source]

Test

Une terre au flanc maigre, âpre, avare, inclément
Où les vivants pensifs travaillent tristement,
Et qui donne à regret à cette race humaine
Un peu de pain pour tant de labeur et de peine ;
Des hommes durs, éclos sur ces sillons ingrats ;
Des cités d’où s’en vont, en se tordant les bras,
La charité, la paix, la foi, sœurs vénérables ;
L’orgueil chez les puissants et chez les misérables ;

Expected
A nicely formatted poem

Popups[edit source]

The following reference text should appear in a popup on hovering over: [1]

PubmedParser[edit source]

Test

[2]

Expected

[2] or citation link.

RegularTooltips[edit source]

  • This should produce a tooltip on hovering over: text to hover over
  • This should produce a tooltip when clicked on (with JS enabled):

RemoteWiki[edit source]

Test

1.39.15

Expected

1.39.15

(requires PageForms and ParserFunctions)

Test
Extension Version
PagedTiffHandler 5922c91aabb03aa4897fc461953e863e1c3db146
TimedMediaHandler 0.6.0
PDF Handler 73207a425c2701cf132f7b6d2e65f67f1b3381cb
3D 0.0.1
EasyTimeline c0fd2e75cb72e2177be69c58d4282ed9ada8a2d0
WikiHiero 1.1
CharInsert cf92972148e2d52298cd4a8b1b1d73784ba28b90
ParserFunctions 1.6.1
Cite db4ecd23d656da5888b8a4c11112dede9e172ce0
InputBox 0.3.0
ImageMap 1c0e863f4f4e294292b6cfc4f521915d859c11dd
SyntaxHighlight 2.0
Poem 682d8b5b2ffedd65e7843c5e7acfc13cb83a5f34
CategoryTree 431752ff1e5536165ecb5b36bc2a923912e8316f
LabeledSectionTransclusion b6b02a0dc592bb48b2eb4e38c0d5a8ff5ca996b4
Score 0.3.0
TemplateStyles 1.0
TemplateData 0.2.0
Math 6773a50adc1a300218b23e291fab26ee80519df2
Babel 9d8034cf751ec53888540cda66c4ed4bcd548884
Scribunto 44971258d36c373d761ea916d94cd7b04f4a9761
PageAssessments 1.1.0
Chart 2072fa9b668a4f853da451d04117e3573dd7ecb4
Kartographer f1b289025856ed1f2e501cf137f54ea232f5b575
Phonos 0.1.0
SiteMatrix 1.6.0
CiteThisPage fb0bcebfa78d4d88e88b55c403893eed0ca18d39
FlaggedRevs 20bc85afb3fbf6c9dea59239e9143701ecfd4659
UrlShortener 1.2.0
ContactPage 2.3
Nuke 8033a8278dc5845d7a7be29dc81d0a51a7e46143
CentralAuth d3b3550d9a1defcdfde4d539d9ecaccdb7bd8976
ApiFeatureUsage 1.0
Collection 1.8.0
Global Usage 2.2.0
MassMessage 0.5.0
Linter c1c460526c5a588d2b8994ddfa14f488caf8cefb
PageTriage 9aa28971ae32aeee3c0d554adb82f057528fff0a
Echo 04ffd62545b5c6ec7edfe6cd342f243eb454ae08
ContentTranslation 288419dbf1dbaa1a0231e37f3bae34d7d085bd6a
TemplateSandbox 1.1.0
CheckUser 2.5
GlobalPreferences 0.1.2
CampaignEvents c7cd13aa63ec0e1643fea92024697dbb79157f2d
WikimediaCampaignEvents 7612ab67e39c4ad39d22908a84e398bbdf6b8322
NearbyPages 1.0.0
SpamBlacklist 4297037e5051aead2a12619c396e66e65c79ca8f
TitleBlacklist 1.5.0
TorBlock 1.1.0
ConfirmEdit 1.6.0
FancyCaptcha ?
hCaptcha ?
AntiSpoof be70899b027f277daefe3a4e8d4361ca1924c03b
Abuse Filter 96e4ebfb6920e8afe2e876c341beb47bde7179f3
Gadgets 2521ef55a2f4a2a0a3b3c7c19b57b7b2b87fb3b0
GlobalBlocking e1ac4359dcc9c5a2d030e85f0073921aa7d5ec89
TrustedXFF 2.0.0
SecurePoll 3.0.0
SecureLinkFixer d1c136e673a6ba98d285a17bbfb367159a17038b
Elastica 6.2.0
CirrusSearch 4e616ed06b7c2c893756a68e3216d9e241a22c18
GlobalCssJs 3.4.0
GlobalUserPage 0.11.1
DismissableSiteNotice 1.0.1
CentralNotice 2.6.1
WikimediaMessages fb89c15e580642986c66d3b2bd983f3b89e9f6e5
ElectronPdfService 64d9a0790f812745ba7a8c12d4916a183be75961
AdvancedSearch 99e3260a3ceedd0210c374c452b760a9100267ac
ArticleCreationWorkflow ee44a1b70f8690984bd29f4184bb54d1bf4d74a5
SandboxLink e3187d772fab4efebc2704da74410b2ef9163bcd
BetaFeatures 0.1
CommonsMetadata aa5c774ea6ee387af9cd7a4717bf5483f22a1393
MultimediaViewer 56386f224a50a88e8b4963f904f13c63df21b36b
Popups cdfbaec0d6aaa9ad14009d76da9be5026c8d77e4
Citoid 0.3.0
TemplateWizard 0.1.0
cldr 4.17.0
WikiLove 1.3.1
GuidedTour 2.0
MobileApp d7142b6cff63498506e7de28561e2196b4a1a1e5
MobileFrontend 2.4.1
TextExtracts cbdb3e6155331c49533f3ed3ba7e48f6597e6b73
BounceHandler 1.0
FeaturedFeeds 5f30ab3b9b32937192d0150c83e7caa6c98bda8e
GeoData e6876bad73a41fa5ed9a58854141688f3b2efe9e
LoginNotify 0.1
Thanks 1.2.0
Disambiguator 1.4
DiscussionTools 0.0.0
RevisionSlider 9be30109d1a94ad53c40a19956f7edefe957830a
TwoColConflict bff1c0e4966468d1b53b8e3e7df34dca2f18bbcd
EventLogging e9e7678ca3a7798f3309d16ec4c5c47ce480cf8c
EventStreamConfig 90888e48b825ff37b8968cc13810be6d693509f0
Campaigns 0.2.0
WikimediaEvents 1.2.0
NavigationTiming e4bd64ec79b4a6c804bf713259f6cd1b323ff408
XAnalytics 0.3
UniversalLanguageSelector 2025-07-31
FileExporter a3c0ad18131d26c05fbf7a3ecd40b7da5bddae48
ExternalGuidance 1.0.0
InterwikiSorting eb9552f5935064c5e947e0d07367ba6d5c982d30
JsonConfig 1.2.0
OAuth 1.1.0
OATHAuth 606394604e23557a3cd0670adaccf3f32c68fba5
WebAuthn 86d4472e9a0e081b0c10d513bdc42dd4e6ac47e8
MediaModeration 2.0.0
ORES 0066612fdde588f17c68d70b4770977aa85e4478
RealMe d96a879f97b441cb7f727d0b67c7107c55dbd90f
IPReputation 5f438a3856bf39ea5ce61a1861fbe9310afa8675
IPInfo 0.0.0
QuickSurveys 1.4.0
EventBus 0.5.0
PageViewInfo 9feb10e7737805d7667c4f3858e9a3959b7879fc
ReadingLists 1.0.0-beta.1
GrowthExperiments 8d96efb5f38d26c40d2ce964775b60dc9445d490
TheWikipediaLibrary 1.0.1
ParserMigration 2.0.0
CommunityConfiguration 315b472d50c682d9367579e73521eec5da800955
MetricsPlatform df5519fc177ab676c09157b3bdbfff3bbe13d2c0
ReaderExperiments b06b64158a08591cf4c3ea9e49595b0252e58a4c
EmailAuth 0.1.0
WikiEditor 0.5.4
CodeMirror 6.0.0
VisualEditor c0bacb06b7240fa8e186734333946c88ef9b8127
CodeEditor 62332347613b88137478e1d4e9315fbe60cc6c70
EntitySchema 1fd98cf11f7ab836756a3681524a0d0a70d09875
WikibaseClient 97ed1af6c0d10ea9fdb820584eff7a92d7e9ca86
WikimediaBadges ca96142272806a8ba6028712fd612d6a5c4a8de8
WikibaseLexeme 4a24b3c086b240896e8915382759b3551e98273a
RelatedArticles 3.1.0
PageImages 9201668cfe8ca3cdeb5fa8731a66fc4204d31226
Expected

Formatted table of extension versions on the English Wikipedia

(requires PageForms and ParserFunctions, plus Taqasta from 30 July 2023 or later for the RemoteWiki changes)

Test
Extension URL
PagedTiffHandler https://www.mediawiki.org/wiki/Extension:PagedTiffHandler
TimedMediaHandler https://www.mediawiki.org/wiki/Extension:TimedMediaHandler
PDF Handler https://www.mediawiki.org/wiki/Extension:PdfHandler
3D https://www.mediawiki.org/wiki/Extension:3D
EasyTimeline https://www.mediawiki.org/wiki/Extension:EasyTimeline
WikiHiero https://www.mediawiki.org/wiki/Extension:WikiHiero
CharInsert https://www.mediawiki.org/wiki/Extension:CharInsert
ParserFunctions https://www.mediawiki.org/wiki/Extension:ParserFunctions
Cite https://www.mediawiki.org/wiki/Extension:Cite
InputBox https://www.mediawiki.org/wiki/Extension:InputBox
ImageMap https://www.mediawiki.org/wiki/Extension:ImageMap
SyntaxHighlight https://www.mediawiki.org/wiki/Extension:SyntaxHighlight
Poem https://www.mediawiki.org/wiki/Extension:Poem
CategoryTree https://www.mediawiki.org/wiki/Extension:CategoryTree
LabeledSectionTransclusion https://www.mediawiki.org/wiki/Extension:Labeled_Section_Transclusion
Score https://www.mediawiki.org/wiki/Extension:Score
TemplateStyles https://www.mediawiki.org/wiki/Extension:TemplateStyles
TemplateData https://www.mediawiki.org/wiki/Extension:TemplateData
Math https://www.mediawiki.org/wiki/Extension:Math
Babel https://www.mediawiki.org/wiki/Extension:Babel
Scribunto https://www.mediawiki.org/wiki/Extension:Scribunto
PageAssessments https://www.mediawiki.org/wiki/Extension:PageAssessments
Chart https://www.mediawiki.org/wiki/Extension:Chart
Kartographer https://www.mediawiki.org/wiki/Extension:Kartographer
Phonos https://www.mediawiki.org/wiki/Extension:Phonos
SiteMatrix https://www.mediawiki.org/wiki/Extension:SiteMatrix
CiteThisPage https://www.mediawiki.org/wiki/Extension:CiteThisPage
FlaggedRevs https://www.mediawiki.org/wiki/Extension:FlaggedRevs
UrlShortener https://www.mediawiki.org/wiki/Extension:UrlShortener
ContactPage https://www.mediawiki.org/wiki/Extension:ContactPage
Nuke https://www.mediawiki.org/wiki/Extension:Nuke
CentralAuth https://www.mediawiki.org/wiki/Extension:CentralAuth
ApiFeatureUsage https://www.mediawiki.org/wiki/Extension:ApiFeatureUsage
Collection https://www.mediawiki.org/wiki/Extension:Collection
Global Usage https://www.mediawiki.org/wiki/Extension:GlobalUsage
MassMessage https://www.mediawiki.org/wiki/Extension:MassMessage
Linter https://www.mediawiki.org/wiki/Extension:Linter
PageTriage https://www.mediawiki.org/wiki/Extension:PageTriage
Echo https://www.mediawiki.org/wiki/Extension:Echo
ContentTranslation https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ContentTranslation
TemplateSandbox https://www.mediawiki.org/wiki/Extension:TemplateSandbox
CheckUser https://www.mediawiki.org/wiki/Extension:CheckUser
GlobalPreferences https://www.mediawiki.org/wiki/Extension:GlobalPreferences
CampaignEvents https://www.mediawiki.org/wiki/Extension:CampaignEvents
WikimediaCampaignEvents https://www.mediawiki.org/wiki/Extension:WikimediaCampaignEvents
NearbyPages https://www.mediawiki.org/wiki/Extension:NearbyPages
SpamBlacklist https://www.mediawiki.org/wiki/Extension:SpamBlacklist
TitleBlacklist https://www.mediawiki.org/wiki/Extension:TitleBlacklist
TorBlock https://www.mediawiki.org/wiki/Extension:TorBlock
ConfirmEdit https://www.mediawiki.org/wiki/Extension:ConfirmEdit
FancyCaptcha https://www.mediawiki.org/wiki/Extension:ConfirmEdit#FancyCaptcha
hCaptcha https://www.mediawiki.org/wiki/Extension:ConfirmEdit
AntiSpoof https://www.mediawiki.org/wiki/Extension:AntiSpoof
Abuse Filter https://www.mediawiki.org/wiki/Extension:AbuseFilter
Gadgets https://www.mediawiki.org/wiki/Extension:Gadgets
GlobalBlocking https://www.mediawiki.org/wiki/Extension:GlobalBlocking
TrustedXFF https://www.mediawiki.org/wiki/Extension:TrustedXFF
SecurePoll https://www.mediawiki.org/wiki/Extension:SecurePoll
SecureLinkFixer https://www.mediawiki.org/wiki/Extension:SecureLinkFixer
Elastica https://www.mediawiki.org/wiki/Extension:Elastica
CirrusSearch https://www.mediawiki.org/wiki/Extension:CirrusSearch
GlobalCssJs https://www.mediawiki.org/wiki/Extension:GlobalCssJs
GlobalUserPage https://www.mediawiki.org/wiki/Extension:GlobalUserPage
DismissableSiteNotice https://www.mediawiki.org/wiki/Extension:DismissableSiteNotice
CentralNotice https://www.mediawiki.org/wiki/Extension:CentralNotice
WikimediaMessages https://www.mediawiki.org/wiki/Extension:WikimediaMessages
ElectronPdfService https://www.mediawiki.org/wiki/Extension:ElectronPdfService
AdvancedSearch https://www.mediawiki.org/wiki/Extension:AdvancedSearch
ArticleCreationWorkflow https://www.mediawiki.org/wiki/Extension:ArticleCreationWorkflow
SandboxLink https://www.mediawiki.org/wiki/Extension:SandboxLink
BetaFeatures https://www.mediawiki.org/wiki/Extension:BetaFeatures
CommonsMetadata https://www.mediawiki.org/wiki/Extension:CommonsMetadata
MultimediaViewer https://www.mediawiki.org/wiki/Extension:MultimediaViewer
Popups https://www.mediawiki.org/wiki/Extension:Popups
Citoid https://www.mediawiki.org/wiki/Citoid
TemplateWizard https://www.mediawiki.org/wiki/Extension:TemplateWizard
cldr https://www.mediawiki.org/wiki/Extension:CLDR
WikiLove https://www.mediawiki.org/wiki/Extension:WikiLove
GuidedTour https://www.mediawiki.org/wiki/Extension:GuidedTour
MobileApp https://www.mediawiki.org/wiki/Extension:MobileApp
MobileFrontend https://www.mediawiki.org/wiki/Extension:MobileFrontend
TextExtracts https://www.mediawiki.org/wiki/Extension:TextExtracts
BounceHandler https://www.mediawiki.org/wiki/Extension:BounceHandler
FeaturedFeeds https://www.mediawiki.org/wiki/Extension:FeaturedFeeds
GeoData https://www.mediawiki.org/wiki/Extension:GeoData
LoginNotify https://www.mediawiki.org/wiki/Extension:LoginNotify
Thanks https://www.mediawiki.org/wiki/Extension:Thanks
Disambiguator https://www.mediawiki.org/wiki/Extension:Disambiguator
DiscussionTools https://www.mediawiki.org/wiki/Extension:DiscussionTools
RevisionSlider https://www.mediawiki.org/wiki/Extension:RevisionSlider
TwoColConflict https://www.mediawiki.org/wiki/Extension:TwoColConflict
EventLogging https://www.mediawiki.org/wiki/Extension:EventLogging
EventStreamConfig https://www.mediawiki.org/wiki/Extension:EventStreamConfig
Campaigns https://www.mediawiki.org/wiki/Extension:Campaigns
WikimediaEvents https://www.mediawiki.org/wiki/Extension:WikimediaEvents
NavigationTiming https://www.mediawiki.org/wiki/Extension:NavigationTiming
XAnalytics https://wikitech.wikimedia.org/wiki/X-Analytics
UniversalLanguageSelector https://www.mediawiki.org/wiki/Extension:UniversalLanguageSelector
FileExporter https://www.mediawiki.org/wiki/Extension:FileExporter
ExternalGuidance https://www.mediawiki.org/wiki/Extension:ExternalGuidance
InterwikiSorting https://www.mediawiki.org/wiki/Extension:InterwikiSorting
JsonConfig https://www.mediawiki.org/wiki/Extension:JsonConfig
OAuth https://www.mediawiki.org/wiki/Extension:OAuth
OATHAuth https://www.mediawiki.org/wiki/Extension:OATHAuth
WebAuthn https://www.mediawiki.org/wiki/Extension:WebAuthn
MediaModeration https://www.mediawiki.org/wiki/Extension:MediaModeration
ORES https://www.mediawiki.org/wiki/Extension:ORES
RealMe https://www.mediawiki.org/wiki/Extension:RealMe
IPReputation https://www.mediawiki.org/wiki/Extension:IPReputation
IPInfo https://www.mediawiki.org/wiki/Extension:IPInfo
QuickSurveys https://www.mediawiki.org/wiki/Extension:QuickSurveys
EventBus https://www.mediawiki.org/wiki/Extension:EventBus
PageViewInfo https://www.mediawiki.org/wiki/Extension:PageViewInfo
ReadingLists https://www.mediawiki.org/wiki/Extension:ReadingLists
GrowthExperiments https://www.mediawiki.org/wiki/Extension:GrowthExperiments
TheWikipediaLibrary https://www.mediawiki.org/wiki/Extension:TheWikipediaLibrary
ParserMigration https://www.mediawiki.org/wiki/Extension:ParserMigration
CommunityConfiguration https://www.mediawiki.org/wiki/Extension:CommunityConfiguration
MetricsPlatform https://www.mediawiki.org/wiki/Extension:MetricsPlatform
ReaderExperiments https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReaderExperiments
EmailAuth https://www.mediawiki.org/wiki/Extension:EmailAuth
WikiEditor https://www.mediawiki.org/wiki/Extension:WikiEditor
CodeMirror https://www.mediawiki.org/wiki/Extension:CodeMirror
VisualEditor https://www.mediawiki.org/wiki/Extension:VisualEditor
CodeEditor https://www.mediawiki.org/wiki/Extension:CodeEditor
EntitySchema https://www.mediawiki.org/wiki/Extension:EntitySchema
WikibaseClient https://www.mediawiki.org/wiki/Extension:Wikibase_Client
WikimediaBadges https://www.mediawiki.org/wiki/Extension:WikimediaBadges
WikibaseLexeme https://www.mediawiki.org/wiki/Extension:WikibaseLexeme
RelatedArticles https://www.mediawiki.org/wiki/Extension:RelatedArticles
PageImages https://www.mediawiki.org/wiki/Extension:PageImages
Expected

Formatted table of extension URLs on the English Wikipedia

Renameuser[edit source]

This should be a valid link: Special:RenameUser

Replace Text[edit source]

This should be a valid link: Special:ReplaceText

RevisionSlider[edit source]

Check Browse history Interactively slider interface at the top of Difference between revisions page (history)

RottenLinks[edit source]

This should be a valid link: Special:RottenLinks

SandboxLink[edit source]

Sandbox link should be added on user's personal tools menu (at the top)

SaveSpinner[edit source]

When going to save a page, a popup spinner should appear while saving.

Scopus[edit source]

$wgScopusApiKey is required.

Test

{{#scopus:doi=10.1103/PhysRevA.20.1521|parameter=citedby-count}}

Expected

Any integer

Scribunto[edit source]

Module:String[edit source]

Test 
15
Expected 
15
Source of Module:String
local p = {}
function p.len(frame)
	local s = frame.args[1]
	return mw.ustring.len( s )
end
return p


SecureLinkFixer[edit source]

This link should show https://oauthdb.com/ on hover (in your browser info bar)

Semantic Watchlist[edit source]

SemanticCompoundQueries[edit source]

This should produce no error:

  • File:Continents colour2.png (Modification date"Modification date" is a predefined property that corresponds to the date of the last modification of a subject and is provided by Semantic MediaWiki.: 14 October 2021 15:48:50)
  • Jackson State Community College (Modification date"Modification date" is a predefined property that corresponds to the date of the last modification of a subject and is provided by Semantic MediaWiki.: 6 November 2021 14:34:12)

SemanticDependencyUpdater[edit source]

A test could not be created. The extension must be listed on Special:Version.

SemanticDrilldown[edit source]

This should be a valid link: Special:BrowseData

SemanticExtraSpecialProperties[edit source]

At least one of queries should return a value

  1. -
  2. -
  3. 2,466
  4. -
  5. -
  6. -
  7. -
  8. -
  9. -
  10. -
  11. -
  12. -
  13. -
  14. -
  15. -
  16. -
  17. -

SemanticMediaWiki[edit source]

Test 
Test
Expected 
Test
There should be a factbox at the page bottom.

SemanticQueryInterface[edit source]

No test was invented. The extension must be listed on Special:Version.

SemanticResultFormats[edit source]

Test (old wikis)
Expected
A nice-looking DataTable with a search field

SemanticScribunto[edit source]

Should be an icon with information popup -> some text

This is sample outputThis is a warning

-- Module:SMW
local p = {}

-- set with direct return results
function p.info( frame )

    if not mw.smw then
        return "mw.smw module not found"
    end

    if frame.args[1] == nil then
        return "no parameter found"
    end

    local tooltip
    if frame.args[2] then
        tooltip = mw.smw.info( frame.args[1], frame.args[2] )
    else
        tooltip = mw.smw.info( frame.args[1] )
    end

    return tooltip
end
-- another example, info used inside another function
function p.inlineInfo( frame )

    local output = 'This is sample output'

    -- so some stuff

    output = output .. mw.smw.info( 'This is a warning', 'warning' )

    -- some more stuff

    return output
end

return p

Sentry[edit source]

The sentry.init ResourceLoader module should be registered; in the developer console running mw.loader.getState('sentry.init'); should return a string (rather than null).

Note: this only confirms that the extension is available, the actual integration of the logging with Sentry must be tested separately.

SimpleChanges[edit source]

A list of recent changes should be displayed:

SimpleTippy[edit source]

The following should render text that, on hover, shows the time the page was rendered (i.e. a timestamp that doesn't change when you hover on it multiple times): Tooltip of this text is static

The following should render text that, on hover, shows the current timestamp (i.e. a timestamp that gets re-parsed each time you hover on it): Tooltip of this text is dynamic

SimpleTooltip[edit source]

This should render a simple tooltip link: Hover over this to see a tooltip. This should render a simple tooltip icon:

Skin per page[edit source]

The skin for the current page has been set to timeless. If the skin is installed, you'll see it on the current page. If it is not, you should see the empty line below (which is also okay):


If you see the <skin>timeless</skin> code instead of the empty line, test failed.

Skinny[edit source]

No test was invented. The extension must be listed on Special:Version.

SkinPerNamespace[edit source]

The skins configured in $wgSkinPerNamespace and $wgSkinPerSpecialPage should be applied to pages in the configured namespaces and the individual special pages.

SmiteSpam[edit source]

This should be a valid link:

SpamBlacklist[edit source]

This should display the spam blacklist log: spamblacklist.

SubPageList[edit source]

Result

5

Expected

An integer matching the number of pages at Special:PrefixIndex/Project:Extension tests/

SyntaxHighlight[edit source]

Note
this extension make also be referred to as "SyntaxHighlight GeSHi"

The following must be colorful:

def quick_sort(arr):
	less = []
	pivot_list = []
	more = []
	if len(arr) <= 1:
		return arr
	else:
		pass

TabberNeue[edit source]

Tabs should be rendered:

First tab content goes here.

Second tab content goes here.
Third tab content goes here.

TemplateData[edit source]

This link should take you to a page with the Manage TemplateData button (normally below the first heading).

TemplateStyles[edit source]

Test
red text
Expected
red text
Source of Project:Extension_tests/TemplateStyles.css (make sure the content model is set to "Sanitized CSS")
.templatestyles {
  color: red;
}

TemplateWizard[edit source]

Insert template icon should appear in WikiEditor toolbar:

TextExtracts[edit source]

The output should not contain Unrecognized parameter: exchars error:

Thanks[edit source]

Special:Log/thanks exists.

Title Icon[edit source]

Property:Title Icon should exist (or any other property defined in $wgTitleIcon_TitleIconPropertyName).

There should appear an icon 👩🏾‍💻 before this page title.


TitleBlacklist[edit source]

TreeAndMenu[edit source]

An interactive tree is rendered below:

  1. The following reference text should appear in a popup on hovering over.
  2. 2.0 2.1 Grados: [The laboratory in programs for enteric infection control]. Bol Oficina Sanit Panam 1975;78:318-22.

Twitter Tag[edit source]

This should display a tweet:

UniversalLanguageSelector[edit source]

There should be an interface in one of the navigation bars to change the language of the interface.

Upload Wizard[edit source]

UploadWizard is displayed at Special:UploadWizard

UploadWizardExtraButtons[edit source]

On the success page of Special:UploadWizard an extra test button should exist with the label specified at MediaWiki:uploadwizardextrabuttons-button-title (currently "Test").

UrlGetParameters[edit source]

Test 
Click here to test.
Expected 
Test

UserFunctions[edit source]

Test 
You are not logged in
Expected 
"You are not logged in" when not logged in, and "You are logged in" when you are

Variables[edit source]

Test 
testing
Expected 
testing

VariablesLua[edit source]

Module:VariablesLua[edit source]

Test1
Defined in wikitext, retrieved by lua
Expected1
Defined in wikitext, retrieved by lua
Test2
Defined in lua, retrieved by wikitext
Expected 
Defined in lua, retrieved by wikitext
local p = {}
function p.get(frame)
	return mw.ext.VariablesLua.var('testLuaGet')
end

function p.set(frame)
	mw.ext.VariablesLua.vardefine('testLuaSet', 'Defined in lua, retrieved by wikitext')
end
return p

VEForAll[edit source]

The ext.veforall.main ResourceLoader module should be registered; in the developer console running mw.loader.getState('ext.veforall.main'); should return a string (rather than null).

Note that the actual functioning of this extension is based on it being invoked by other extensions, and so even if it is installed it may not actually be used.

VisualEditor[edit source]

This should load VisualEditor in edit mode: edit

VoteNY[edit source]

A vote box should be here:

1

WhoIsWatching[edit source]

Should show the number of watching users below:

0 watching users

Widgets[edit source]

Test
Widget
Expected
Widget

WikiEditor[edit source]

This should load a tabbed WikiEditor: edit

WikiForum[edit source]

This should be a valid link: Special:WikiForum

WikiSEO[edit source]

The page source should contain:

<title>Your page title</title>

and:

<meta name="keywords" content="these,are,your,keywords"/>

There should also be a description, with

<meta name="description" content="Your meta description"/>

but the content may be different if another extension (like Description2) is installed and tries to set the description. As long as there is a description set and the page title and keywords match, having a different description should not be considered a failure.

WSSlots[edit source]

YouTube[edit source]