Project:Extension tests

From WikiTeq Demonstration 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 14: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:

Text inside the panel
Text inside the panel

Headline for Panel3

Text inside the panel
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

EditCountNeue[edit source]

An integer should follow: 6877

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 should be a valid link: Special: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 -.

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

GTag[edit source]

The page source head section should contain a link to the script: //www.googletagmanager.com/gtag/js

Note

It will not load if you work under the account with gtag-exempt permission. The permission is to be temporarily disabled to complete the test.

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]

Dining room with nine men seated around a table. The dinner has been finished, and a large man at the head talks and gesticulates while the others eagerly listen. The men wear wigs and clothing of late 18th century Britain, and the furniture, hangings, and chandelier are of similar vintage. A liveried servant is entering with a tray bearing two high-shouldered decanters of wine.Dr Johnson - Dictionary writerBoswell - BiographerSir Joshua Reynolds - HostDavid Garrick - actorEdmund Burke - statesmanPasqual Paoli - Corsican patriotCharles Burney - music historianThomas Warton - poet laureateOliver Goldsmith - writerprob.The Infant Academy 1782unknown paintingAn unknown portraitservant - poss. Francis BarberUse button to enlarge or use hyperlinks
Image map example. Clicking on a person in the picture causes the browser to load the appropriate article.

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]

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
(x,y)Cx3dx+4y2dy
Expected
∫(x,y)∈Cx3dx+4y2dy (but much better-looking)

See also: Special:MathStatus

Mermaid[edit source]

MobileDetect[edit source]

Test
MobileDesktop
Expected
Either "Desktop" or "Mobile"

MobileFrontend[edit source]

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:

MyVariables[edit source]

Test 
216.73.217.151
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.

OpenGraphMeta[edit source]

Test

Expected

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):

Succeeded

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.

Source of Template:Pubmed
<includeonly>{{{authors}}}: {{{title}}}. ''{{{journala}}}'' {{{year}}};{{{volume}}}:{{{pages}}}.</includeonly><noinclude>

<templatedata>
{
	"params": {
		"authors": {
			"description": "Abbreviated list of author names. If there are only two authors, they will be concatenated by \"&\"; with three or more authors, an \"et al.\" will be appended after the first author.",
			"label": "Authors"
		},
		"title": {
			"description": "Article title, with trailing period removed",
			"label": "Title"
		},
		"journala": {
			"description": "Abbreviated name of journal (ISO specification), e.g.: N. Engl. J. Med.",
			"label": "Journal name (abbreviated)"
		},
		"year": {
			"description": "Article publication year",
			"label": "Year of publication"
		},
		"volume": {
			"description": "Journal volume",
			"label": "Volume"
		},
		"pages": {
			"description": "Article pages as stored in Pubmed, though leading digits may be omitted in the last page number; for example, \"1324 through 1336\" is given as \"1324-36\".",
			"label": "Pages"
		},
		"authorsi": {
			"description": "Abbreviated list of author names, with initials appended",
			"label": "Authors list (with initials)"
		},
		"allauthors": {
			"description": "List of all author names, last author's name is appended with \"&\"",
			"label": "Authors list (&)"
		},
		"allauthorsi": {
			"description": "List of all author names like above, but with initials appended",
			"label": "Authors list (& with initials)"
		},
		"journal": {
			"description": "Full name of journal as stored in Pubmed",
			"label": "Journal name"
		},
		"journalcaps": {
			"description": "Full name of journal as stored in Pubmed with all words capitalized",
			"label": "Journal name (capitalized)"
		},
		"journalanop": {
			"description": "Abbreviated name of journal (ISO specification) without periods, e.g.: N Engl J Med",
			"label": "Journal name (ISO)"
		},
		"pmid": {
			"label": "PMID number",
			"description": "PMID number (i.e., the same ID that was used to call #pmid)."
		},
		"doi": {
			"label": "DOI",
			"description": "[[:wikipedia:Digital Object Identifier|DOI]] of the article that points to the full text. Not all Pubmed entries provide this information."
		},
		"abstract": {
			"label": "Abstract",
			"description": "Article abstract."
		}
	},
	"description": "Formats the results of the {{#pmid:}} output.",
	"paramOrder": [
		"title",
		"authors",
		"authorsi",
		"allauthors",
		"allauthorsi",
		"abstract",
		"pmid",
		"doi",
		"year",
		"journal",
		"journala",
		"journalcaps",
		"journalanop",
		"volume",
		"pages"
	]
}
</templatedata>

</noinclude>

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.43.8

Expected

1.43.8

(requires PageForms and ParserFunctions)

Test
Extension Version
PagedTiffHandler 58fd1baae8596c2be90ce8c015f6b3d0960e27c4
TimedMediaHandler 0.6.0
PDF Handler 935099e5d1555645360db3418ca0d83babbf72b9
3D 0.0.1
EasyTimeline 9d5801c6355f7b236c780951cbfc061192a4e0d1
WikiHiero 1.1
CharInsert 2f702d6c149ebe771126e4ddae0640a8c5518ee4
ParserFunctions 1.6.1
Cite c4ebf95d49a4941ae8a3db72da2d63ff8e4fdf80
InputBox 0.3.0
ImageMap 2681e7777ad0d3c3269f2add7eded345e4cc50fb
SyntaxHighlight 2.0
Poem 59a6aa5e552d6c72c33205ddb91291d50e6a8d12
CategoryTree 4f733c652b69a73a7df4e61e3c098f5fe0e4c6b2
LabeledSectionTransclusion 1e68ff46b2d78ecfbc27491b9d15ec8fd155793a
Score 0.3.0
TemplateStyles 1.0
TemplateData 0.2.0
Math 811636912c2dd0e9313526dd6989fb4bc13231c5
Babel e81f41093a20f031c555878037e9dd01c6a022ff
Scribunto eb21a8f2575dc9084e52abc78019702ce45e03b6
PageAssessments 1.1.0
Chart 1132f27ac3eba139c8c2cda4ae0ca719e2f8a692
Kartographer d9f23f5746bed2c479744d3e40aae95eb82fc449
Phonos 0.1.0
SiteMatrix 1.6.0
CiteThisPage 8204c625c41b429886e03f04c139c290a1675eb5
FlaggedRevs d22d3fbcfc925fa77dcad79b5932db7c3d2874f6
UrlShortener 1.2.0
ContactPage 2.3
Nuke 3427adfb9f8e61e296f97016e841b8dd296384a6
CentralAuth 02f0a62be389443b633b1e5e6aeae0b4539aec0e
ApiFeatureUsage 1.0
Collection 1.8.0
Global Usage 2.2.0
MassMessage 0.5.0
Linter afea3685a2c7601077efc43309dce045d9d67a4a
PageTriage 07e31de29c82ad9f28f8d29f665a511895c730be
Echo 85e018080e5a9b12d64fd34de76271babee85088
ContentTranslation 89e62b9cb51daf998e270e834968b835b593645d
TemplateSandbox 1.1.0
CheckUser 2.5
GlobalPreferences 0.1.2
CampaignEvents 9a1e89eea7adeb62394a428be758f6910f2afc07
WikimediaCampaignEvents 68650f535958a71d977910244b5131679de8846a
NearbyPages 1.0.0
SpamBlacklist ee42e5e9b049a6aef68343a6a511cb46ca0edde8
TitleBlacklist 1.5.0
TorBlock 1.1.0
ConfirmEdit 1.6.0
FancyCaptcha ?
hCaptcha ?
AntiSpoof c0354e292094afdd01db51011f597b7f5e1570a8
Abuse Filter 55382795803f9ac5dddbc79bbbe726fe2fe0ae14
Gadgets 6a9696e9efc65862fd6f9bc144c023ef86c154d4
GlobalBlocking f30ce94e812fda1c2cc465bdc2ca40f811ba68b6
TrustedXFF 2.0.0
SecurePoll 3.0.0
SecureLinkFixer b9a4ba8ee30e621d161219135dbe6d9bc20b2e0b
Elastica 6.2.0
CirrusSearch c3f7981553efb6c0c7f97b5792573d163272bc38
GlobalCssJs 3.4.0
GlobalUserPage 0.11.1
DismissableSiteNotice 1.0.1
CentralNotice 2.6.1
TestKitchen 235887eabfeb9a5263efb72a44165f8aa8321131
WikimediaCustomizations 711fc3c61916ea5c1d55a75ba854b1ebbad24631
WikimediaMessages 2324c3168441f0aee8b24714b50c30a73ab3b69a
ElectronPdfService 013c666b5f5b743e8782c15715f5fc19cbdc7a82
AdvancedSearch c12917ffc5f5f62ae1c15c4874c286ce7a3fa155
ArticleCreationWorkflow 9103fe19e61a46892580535ec78e38fbf6f4c661
SandboxLink 4f85e794a25b294b7fd09751b85966e3ef80288f
BetaFeatures 0.1
CommonsMetadata 007d2cc4bce158ac61f2eefbf73afa7ac6bb747e
MultimediaViewer dbb35325398b351e462bda6c8c78f14c16c93e36
Popups 0d9db09afdc2546e57f93cb448ee219f174c3310
Citoid 0.3.0
TemplateWizard 0.1.0
cldr 4.17.0
WikiLove 1.3.1
GuidedTour 2.0
MobileApp c38020e5da166d28d6c0a0601a3b44fbdd9dbe24
MobileFrontend 2.4.1
TextExtracts 79306bebef0a21865d563918bcb8be9d95f5a8c6
BounceHandler 1.0
FeaturedFeeds c6e0bfd088bfe6f7571ae1cf921261569732d1f6
GeoData 5a1e62d32333ed1ade2c7629a17d95c7d11dddb0
LoginNotify 0.1
Thanks 1.2.0
Disambiguator 1.4
DiscussionTools 68e8aef33dee4e7583ff0e6882efc03ff91afbc1
RevisionSlider 26e342e32fb30c7597f7a9bf24f3e06122c46b54
TwoColConflict c32a38565bbe399281d679706b249bba60c7d62b
EventLogging d311d9bc1f4a15158ade6ee8caa16c13066c4043
EventStreamConfig 4422d4e7868f144ae3c91cc457423e3b0bba5c25
Campaigns 0.2.0
WikimediaEvents 1.2.0
NavigationTiming 9745c97cff9534bbb77471b9a0ad352fc9a3c782
XAnalytics 0.3
UniversalLanguageSelector 2026-02-25
FileExporter ebe841e367e1ced2c9b41e9f1fd039cbbcb68671
ExternalGuidance 1.0.0
JsonConfig 1.2.0
OAuth 1.1.0
OATHAuth 2c9c4a284ffce5d2eb1ecde4753da2d61a0c9053
MediaModeration 2.0.0
ORES 0f84e9cffcd4b19800e2818586790c235131039e
RealMe 6dab94af73d5403a0c23a0f1ab1926805ea23410
ReportIncident 70bd2fbb1b42fcf0ce3a9b077d92beedcf0f9cb7
IPReputation 7281a69de7dc957edd294eeb49d3f6024d7b77e2
IPInfo bdac41fc58fbbcd73bbffd9513c37db1874af543
QuickSurveys 1.4.0
EventBus 0.5.0
PageViewInfo 1a5e2123ecc04486e008868306d15966f864041b
ReadingLists 1.0.0-beta.1
GrowthExperiments eeadaaf1522b6f0b68dae49e7e3e43cd125f0285
TheWikipediaLibrary 1.0.1
PersonalDashboard 2b2354de6986f0629b069c88bc4f53d0cf052733
ParserMigration 2.0.0
CommunityConfiguration 6c276956f54b8db1ce4004c28e8b1b10a305d3c4
ReaderExperiments 69543e11849c27b2468731a6c4e2525650d42209
EmailAuth 0.1.0
WikiEditor 0.5.4
CodeMirror 6.0.0
VisualEditor 931308cb631f28b304d9b3ddeed2dbe764476360
CodeEditor 73beaa13248770d32a7ae81778e12f19790f8619
EntitySchema c42b9a623c8ae2c9ea7b865e1f4e1d69c249aa66
WikibaseClient 5ec29ef82426b8eead8334527a6e24a69cf41b11
WikimediaBadges 04712c73988bc432dc05c2b02c51a138c5585035
WikibaseLexeme 6b85edda93a04895ba8dbd8347da25dd79f3d93e
RelatedArticles 3.1.0
PageImages 879797aea52ab9e9e272c2de74088f4b112a77c4
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
TestKitchen https://www.mediawiki.org/wiki/Extension:TestKitchen
WikimediaCustomizations https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:WikimediaCustomizations
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
JsonConfig https://www.mediawiki.org/wiki/Extension:JsonConfig
OAuth https://www.mediawiki.org/wiki/Extension:OAuth
OATHAuth https://www.mediawiki.org/wiki/Extension:OATHAuth
MediaModeration https://www.mediawiki.org/wiki/Extension:MediaModeration
ORES https://www.mediawiki.org/wiki/Extension:ORES
RealMe https://www.mediawiki.org/wiki/Extension:RealMe
ReportIncident https://www.mediawiki.org/wiki/Extension:ReportIncident
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
PersonalDashboard https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PersonalDashboard
ParserMigration https://www.mediawiki.org/wiki/Extension:ParserMigration
CommunityConfiguration https://www.mediawiki.org/wiki/Extension:CommunityConfiguration
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

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.

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:

  • Modesto Junior 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:38:59)
  • File:Teacher Employment Agreement Contract.pdf (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.: 1 July 2023 18:27:32)

SemanticDependencyUpdater[edit source]

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

SemanticExtraSpecialProperties[edit source]

At least one of queries should return a value, depending on the configuration of $sespgEnabledPropertyList.

  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.

SemanticResultFormats[edit source]

Test (old wikis)
 Test
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

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.

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

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:

0

WatchAnalytics[edit source]

This should be a valid link: Special:WatchAnalytics

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]