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 were 2 votes 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.

CirrusSearchQA

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

DynamicPageList4[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]

Error while fetching data from URL https://www.semantic-mediawiki.org/wiki/Special:Ask/-5B-5BGermany-5D-5D/-3FLocated_in/format%3Dcsv/sep%3D,: $2.
There was a problem during the HTTP request: 403 Forbidden
Error while fetching data from URL https://www.semantic-mediawiki.org/wiki/Special:Ask/-5B-5BGermany-5D-5D/-3FLocated_in/format%3Dcsv/sep%3D,:

To protect this wiki from excessive automated crawling and other transgressing activity, this content is available only to logged-in users.

Please <a href='/wiki/Special:UserLogin'>log in</a> to continue. If you do not have an account, you can <a href='/wiki/Special:RequestAccount'>request one</a>.

.
Test 
Error: no local variable "Located in" has been set.
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.

This works in the 2017 editor. It does not work in the VisualEditor source mode.

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.216.175
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.9

Expected

1.43.9

(requires PageForms and ParserFunctions)

Test
Extension Version
PagedTiffHandler a90d0ade1fc32f725fd9f0f28f1f31698eb1c044
TimedMediaHandler 0.6.0
PDF Handler b263545eff4bedfba2470f0fc26682f4ed5e2b86
3D 0.0.1
EasyTimeline 4028d40bb2aa35ed9950e94b5b874d8049e902bb
WikiHiero 1.1
CharInsert cf7dbb20244b2cd104931c2ca1ccf3855669a112
ParserFunctions 1.6.1
Cite e5d10718db3279437880719f2a5afdbd3b50f94d
InputBox 0.3.0
ImageMap f2c5c55e41ee4c3248980fd5ccf21d55473bf4cd
SyntaxHighlight 2.0
Poem d9ce966ff06dd95767e1038dc2ae43b3f068cefe
CategoryTree 5eceaf259b7e231937edda9804de4f8e8924ac52
LabeledSectionTransclusion 3e9a44dec6858aeaf3ca547a32ab3162d6887ed6
Score 0.3.0
TemplateStyles 1.0
TemplateData 0.2.0
Math 1fcedaa1adb34ac0b45b551c7efec1f2376f082e
Babel 038752abff533599c93baaf2537d847d3742a592
Scribunto b109cb6e5866c13871e308859ef78249b1bd3ea2
PageAssessments 1.1.0
Chart 263755572f6ebd2258a94185335df9d6068e3858
Kartographer 798759db1c916dbc214f3e596fd30abbe1750fb5
Phonos 0.1.0
SiteMatrix 1.6.0
CiteThisPage e66fec028b7e1cdc831a4399b68785b8aee71c44
FlaggedRevs 2ccfad681bd41f49985854908c97e4b018fd2e9b
UrlShortener 1.2.0
ContactPage 2.3
Nuke 618b3fe87dbac66bc8911721b62cc39fc6887d83
ApiFeatureUsage 1.0
Collection 1.8.0
Global Usage 2.2.0
MassMessage 0.5.0
Linter 557e6541e568832e44c6fea6cc5bd9971b71f50f
PageTriage a6f24100aa40b8deb6dacf863397bcbdea4ae216
Echo 14113e79ee0426f236c37115eaf3f37e69a1c94f
ContentTranslation 2e7f8cb164e1b1631a51bafd14535599aa055973
TemplateSandbox 1.1.0
CheckUser 2.5
CampaignEvents 00003965ef5ee6b1292fbd74ef2413f30d8f4b33
WikimediaCampaignEvents 4c8461da0dc0dbab97142030f120bc751cfccc45
NearbyPages 1.0.0
SpamBlacklist 1e8d585fa7e557af41ede96e0b690195e630476c
TitleBlacklist 1.5.0
TorBlock 1.1.0
ConfirmEdit 1.6.0
hCaptcha ?
FancyCaptcha ?
AntiSpoof 40290e256b42518cf18e74e602a2fae403ec7909
Abuse Filter 9bb5fbbb416efc0ee2654eee94c8f70a12c099b6
Gadgets c8102989627b020c2e4db486e45dfe8bf130d446
TrustedXFF 2.0.0
SecurePoll 3.0.0
SecureLinkFixer 4a6e9acafe8bc86c0fa0b22df521ee92b55b3571
Elastica 6.2.0
CirrusSearch e2d8e9c3e7c90a49be304e5db8824ae3c3599899
DismissableSiteNotice 1.0.1
CentralNotice 2.6.1
TestKitchen 72b0603893450dba7d4358fb988c43a7752daa9f
WikimediaCustomizations 5ba2e80bde91006a5eb77926b4990946122ed6dd
WikimediaMessages 0490571d108a44e4dc825c1db2c3b302c2a893b4
ElectronPdfService 97556b6a5ab82900584297fbf0c8fd0465a31583
AdvancedSearch bbe043ae118553c0eaf835da005c0030c64c690c
ArticleCreationWorkflow d25e93445744c3e496b2d9b698cfbe94e1e73e26
SandboxLink 7ef5a5908c3416db9362b824c7b9b66a1713b61f
BetaFeatures 0.1
CommonsMetadata 70d65d691f224e77fca6bbece2a5563b3f032e09
MultimediaViewer 271bbb95812650007a62cbd65185f090a699e1f1
Popups 371d6a4bdc18a25a94c63110381821a1cc67b91e
Citoid 0.3.0
TemplateWizard 0.1.0
cldr 4.17.0
WikiLove 1.3.1
GuidedTour 2.0
MobileApp 52033150bcc28be3ab22543ef3a373294a65e19f
MobileFrontend 2.4.1
TextExtracts d7c7283504d6e65a84f36fa6e69608245e8a1b3c
BounceHandler 1.0
FeaturedFeeds 49536f3257c07e569700d323ae8e6cf4e4f49035
GeoData f4b628c3f3aae01dfa5c31f705e359c63e2c65b6
LoginNotify 0.1
Thanks 1.2.0
Disambiguator 1.4
DiscussionTools 01bb23c51460af524173935ef05782a9d3cb09e2
RevisionSlider 3b06a457f54a0decee527f2a06e6286ed2475e00
TwoColConflict 875ff46265ba9e3d8ee70fb1494bd1a633d25a8b
EventLogging 03a9f79befc2437f7ad6a5da53e73e77bcbda4b5
EventStreamConfig 3534e1ffbfe38a668e65ccb97bb2de66efb5a1f8
Campaigns 0.2.0
WikimediaEvents 1.2.0
NavigationTiming 05ecd5e2e29c418841fa35044072480db8edc13c
XAnalytics 0.3
UniversalLanguageSelector 2026-09-08
FileExporter bebdb00d3f8628502c14a7329d328a4f19e386db
ExternalGuidance 1.0.0
JsonConfig 1.2.0
OAuth 1.1.0
OATHAuth 2d87e6914cb8d65d4f2b08f7b087ba1c8f3cb956
MediaModeration 2.0.0
ORES 98976713f41b53d3ee6638ce5c46e4a9a04ca30a
RealMe ab3a92b5f26d6b8a7acd6ab42b8ca57b1ecd80a1
ReportIncident f0aa763ba3008fd0732be2ca0afde0ffc0899c62
IPReputation ee596dc27e73a7874c877b94c1aa794a47121511
WikimediaAntiAbuse 3b37f6c03afc92dc4075b53d6e8f1b0e305a824c
IPInfo 77bb9144ae9f325b403c8eb95fee5878592dc638
QuickSurveys 1.4.0
EventBus 0.5.0
PageViewInfo c9b5a9ed22b07b82da829ae81bbc2ce6ac9f7146
ReadingLists 1.0.0-beta.1
GrowthExperiments 90329e837dd43fb82170d0bd8590757fc03b7ab7
TheWikipediaLibrary 1.0.1
PersonalDashboard ae325e8a22046a5b3230eb6aa4518d4721d06c43
ParserMigration 2.0.0
CommunityConfiguration ac985d31a66afebbdc74ac46427467b276f114c0
ReaderExperiments 71afa436148539a3c0e1e82ba85d630bb31ef8d0
GlobalBlocking effd40dfb812d44d3d568ea40eb6e3763e5791f4
CentralAuth f3f9ad92fcb650aef03b160bec5accb0d6a08606
GlobalCssJs 3.4.0
GlobalUserPage 0.11.1
GlobalPreferences 0.1.2
EmailAuth 0.1.0
WikiEditor 0.5.4
CodeMirror 6.0.0
VisualEditor d621d95f44ccf713dec663adee8a01d245ef7cf3
CodeEditor 204ca7fc5af677fcad4ca65a06ac875bbde38542
EntitySchema e35a71137a87393043520a273431b72e52f2953d
WikibaseClient 1a6caf78bb5532ee0a3b78e223d73fde60b5a410
WikimediaBadges 7a5acdc7e73e380760db3c1a14fd634b0c808ae9
WikibaseLexeme 34379a23105e747a2b3dffea09862a450233314b
RelatedArticles 3.1.0
PageImages 58637a7f897fe175478761916390ea25ef9c2a4f
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
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
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
hCaptcha https://www.mediawiki.org/wiki/Extension:ConfirmEdit
FancyCaptcha https://www.mediawiki.org/wiki/Extension:ConfirmEdit#FancyCaptcha
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
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
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
WikimediaAntiAbuse https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:WikimediaAntiAbuse
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
GlobalBlocking https://www.mediawiki.org/wiki/Extension:GlobalBlocking
CentralAuth https://www.mediawiki.org/wiki/Extension:CentralAuth
GlobalCssJs https://www.mediawiki.org/wiki/Extension:GlobalCssJs
GlobalUserPage https://www.mediawiki.org/wiki/Extension:GlobalUserPage
GlobalPreferences https://www.mediawiki.org/wiki/Extension:GlobalPreferences
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:

  • Antonelli College-Hattiesburg (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:11:53)
  • File:Back-to-school.jpg (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.: 9 August 2021 17:56:34)

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:

1

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]