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

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

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 
162.159.115.28
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.5

Expected

1.43.5

(requires PageForms and ParserFunctions)

Test
Extension Version
PagedTiffHandler 07bdee0505d9954cee221e467d5d59de6ed03897
TimedMediaHandler 0.6.0
PDF Handler b5032fecf614ac5fe84c83790b6fa70412ea8ed5
3D 0.0.1
EasyTimeline 865e659b6890df879e265b38000c1873daa04f4b
WikiHiero 1.1
CharInsert d0bff64229edbbbdb7be3ee84a5adb61d7c9f8f9
ParserFunctions 1.6.1
Cite e9768d52e742c5d504b8bbba23814306c06fee02
InputBox 0.3.0
ImageMap e68c32ec4c3842d8d744c25f342a6993a8a908e1
SyntaxHighlight 2.0
Poem bcfd80ea2c9e6186d5d403c1fc2dbac1e89278e7
CategoryTree dc8c0fd54fdc4ba3386072296b9b6146410ef91d
LabeledSectionTransclusion 68796ddbeba3f66ef554d035974af7547715f5f3
Score 0.3.0
TemplateStyles 1.0
TemplateData 0.2.0
Math ff5314a2e9d1718a184052e96a1b0f30334219e1
Babel 161a14f233824dac11e8a649cad8a39f95c6827f
Scribunto f149093aa9e618a0851cc911ee90faa90ad2f67f
PageAssessments 1.1.0
Chart 205f250c7330a3b5b8a10183a35a72062902c1d2
Kartographer 3f7732540babf9eed7348ed14eea40d39efaff81
Phonos 0.1.0
SiteMatrix 1.6.0
CiteThisPage 27ecc132a4e2af4abd387e30432eade8847ee66b
FlaggedRevs 656e5e386c0dbb12a60638d0c7cde40ef4f36549
UrlShortener 1.2.0
ContactPage 2.3
Nuke 147771aa11927dfa51bcf6d2b675afcd100c5b3d
CentralAuth 4aac57a79a7a692af83e4564d159b9fa1f830c8b
ApiFeatureUsage 1.0
Collection 1.8.0
Global Usage 2.2.0
MassMessage 0.5.0
Linter 07b32b5b74675d8d0f57a84326903b2261bf638c
PageTriage 479ce78b863d08857e98ec0c394d5f0d8ea33e4f
Echo a9daa6dec25418d953b7e9d0058cabcc45a8e7d9
ContentTranslation 7edeec41eeec4f1e4a71890d786db13b59891d25
TemplateSandbox 1.1.0
CheckUser 2.5
GlobalPreferences 0.1.2
CampaignEvents 202eaf9873aa234b7b73c0905214aa143f77d93c
WikimediaCampaignEvents 9e78e46b9f4fc41726439410b677af245cde179f
NearbyPages 1.0.0
SpamBlacklist 002427bc99da635224a7127cbafdf7d94262acba
TitleBlacklist 1.5.0
TorBlock 1.1.0
ConfirmEdit 1.6.0
FancyCaptcha ?
hCaptcha ?
AntiSpoof 2ee04e0807e3bcdeb2d1ee3682ec7a0dd922d198
Abuse Filter b2db063d042b64e75b6e76e484b87a5aa9b7007b
Gadgets 982a6a422817bb0ce7b623bfcc20fbacf101561c
GlobalBlocking 3d36081f8066b9b6d0c2cccfd835d949566a2fb7
TrustedXFF 2.0.0
SecurePoll 3.0.0
SecureLinkFixer 51de0a1716636d0abe046b255aa9275271917be6
Elastica 6.2.0
CirrusSearch 26e75c64bd640eacbb52c96da88816f01ac6f775
GlobalCssJs 3.4.0
GlobalUserPage 0.11.1
DismissableSiteNotice 1.0.1
CentralNotice 2.6.1
WikimediaCustomizations c056345fbf9fcbc2adc6a25fe561513049bc8dfb
WikimediaMessages 07aaa47282f7af1c76883d41b9ee3b1ba5aac1f1
ElectronPdfService 1ae8281853c40b754e64013968f1b07765c3e0c2
AdvancedSearch 193384f79074b23fd29b61716b493d70aaf8c9aa
ArticleCreationWorkflow 701af10a30522db3e5e92cc5654476c19e31af4e
SandboxLink 78eef2a76638e07aeed802398eb776b87f49af82
BetaFeatures 0.1
CommonsMetadata b1768b7753c8fc95926826ebd45ac3f1ba846289
MultimediaViewer 530782e5d99f849838508775ac336f4f4c326261
Popups 7de1b3498a68d1f52352c5b54ea4a289cea95fe8
Citoid 0.3.0
TemplateWizard 0.1.0
cldr 4.17.0
WikiLove 1.3.1
GuidedTour 2.0
MobileApp 48fcdd440491fe12c14b49bc9ca142123419c812
MobileFrontend 2.4.1
TextExtracts 843ac0d061a6b68f9de62cbca5cb27ef3e486af2
BounceHandler 1.0
FeaturedFeeds b77fe612d545d3d63d7850c9da7a1b9ca05e0ac5
GeoData ac05b69a5402ea105f540c28ebd6102199e46fe1
LoginNotify 0.1
Thanks 1.2.0
Disambiguator 1.4
DiscussionTools 0.0.0
RevisionSlider e2f01c0864eee68a5885bbcebb5bc4eb100e5c38
TwoColConflict 1c1d1293831d281033a91b59047ea236ecd93cce
EventLogging 8b6688ab9f8cac8cdd4932814f70d26895ce4b96
EventStreamConfig c544db23e2b3cc38ef8d7a48aa8d25e83b7e66dd
Campaigns 0.2.0
WikimediaEvents 1.2.0
NavigationTiming 395f720961147b119da39ad0d1305d37710ed312
XAnalytics 0.3
UniversalLanguageSelector 2025-07-31
FileExporter fd4019f6cb5144de98f2f1d54b547c7f12720566
ExternalGuidance 1.0.0
InterwikiSorting bfe9018ec12877e16d6aae4d7314343ae4c4ee72
JsonConfig 1.2.0
OAuth 1.1.0
OATHAuth db28f127995e752169782b132d8821d86cd2b559
WebAuthn b32dbc7fb292f1c260880a67eea7f3f416b686b4
MediaModeration 2.0.0
ORES 5d43d5645c01ae3b6aac115f5d2b892afe78c658
RealMe 2db378588de0191a1f9c0977ece20307a583122e
IPReputation 95aab49f667848563e22c6ba8243a5a0d2907b48
IPInfo 0.0.0
QuickSurveys 1.4.0
EventBus 0.5.0
PageViewInfo 04bb4b22224f62a7204f03891747ab59ca20cfb6
ReadingLists 1.0.0-beta.1
GrowthExperiments 5e721d1230fb0ca4a98eb48f01f4f19a447cd260
TheWikipediaLibrary 1.0.1
ParserMigration 2.0.0
CommunityConfiguration 8432db42404d1df5f9815b47b95b3a7a2833ac6b
MetricsPlatform e770fe8fd2dbc45b31c2a79fea2bef88b67b0e1d
TestKitchen c923a7f87800d766bb80ec33bfc963367dcd0393
ReaderExperiments cf088b9c352f7234b055e341563cfcd6a1537e6f
WP25EasterEggs 60b7845497b1d29e939241a4731a1d2eda65e159
EmailAuth 0.1.0
WikiEditor 0.5.4
CodeMirror 6.0.0
VisualEditor 4fc04d2b4dbf1e6d8077c9094fbf1c9853e99d51
CodeEditor dd303e2ce45fa12d958c28cd03c6d150994f9c37
EntitySchema 6c295b7978933be2ec76984ad788f7f71e9bc852
WikibaseClient ae3477c026a9b631d10bbec0fe64824196080e67
WikimediaBadges 124c663346684e7a5144d9d9e8f3a07aaa264cda
WikibaseLexeme e56c81db0da95ea8ccd0ed9b5948e1f08a098de2
RelatedArticles 3.1.0
PageImages 5a06d2c32bf65a32471e3e663dc3b7a32237fca0
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
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
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
TestKitchen https://www.mediawiki.org/wiki/Extension:TestKitchen
ReaderExperiments https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReaderExperiments
WP25EasterEggs https://www.mediawiki.org/wiki/Extension:WP25EasterEggs
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:

  • Centura College-Virginia Beach (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:22:49)
  • File:Introduction to Enterprise MediaWiki.mp4 (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.: 30 April 2023 20:25:33)

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]