FamilySearch Wiki:Extension tests: Difference between revisions
(Added tests for Article Feedback and TalkRight MFAM-266) |
m (codemirror) |
||
(13 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
== AdvancedSearch == | == AdvancedSearch == | ||
If [[#CirrusSearch]] is enabled, the extension produces the "Advanced Search" form on [[Special:Search]]. | If [[#CirrusSearch]] is enabled, the extension produces the "Advanced Search" form on [[Special:Search]]. | ||
== Approved Revs== | == Approved Revs== | ||
Line 33: | Line 33: | ||
:This test should be done while using the Chameleon skin; [{{fullurl:{{FULLPAGENAME}}|useskin=chameleon}} view page with useskin=chameleon] | :This test should be done while using the Chameleon skin; [{{fullurl:{{FULLPAGENAME}}|useskin=chameleon}} view page with useskin=chameleon] | ||
This should be a greeny shadowed alert box with white text: | This should be a greeny shadowed alert box with white text: | ||
<div class="alert | <div class="alert bg-success shadow text-white font-weight-bold"> | ||
I am bootstrapped | I am bootstrapped | ||
</div> | </div> | ||
Line 61: | Line 61: | ||
== CirrusSearch == | == CirrusSearch == | ||
To test that the extension is loaded, the following link (using the <code>cirrusDumpQuery</code> parameter) should show a JSON object with details of the search: | |||
* [{{fullurl:Special:Search|search=Example&cirrusDumpQuery=true}} Example search with cirrusDumpQuery] | |||
* [{{ | |||
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 == | == Cite == | ||
Line 89: | Line 86: | ||
== CodeMirror == | == CodeMirror == | ||
* The "Editing" tab on [[Special:Preferences]] should have the "Enable colorblind-friendly mode" checkbox ("Accessibility" section). | * The "Editing" tab on [[Special:Preferences]] should have the "Enable colorblind-friendly mode" checkbox ("Accessibility" section). | ||
== ContributionScores == | == ContributionScores == | ||
Line 140: | Line 137: | ||
== GlobalNotice == | == GlobalNotice == | ||
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 <code>-</code>. | |||
== GoogleTranslator == | == GoogleTranslator == | ||
Line 201: | Line 202: | ||
<section begin=test1 />This is a test.<section end=test1 /> | <section begin=test1 />This is a test.<section end=test1 /> | ||
Some text ... | Some text ... | ||
=== Section by heading === | === Section by heading === | ||
This is a section with a heading | This is a section with a heading | ||
Line 208: | Line 208: | ||
== Lingo == | == Lingo == | ||
;Test | |||
:{{int:Lingo-terminologypagename}} | |||
;Expected | |||
:Whatever except <code>⧼Lingo-termeinologypagename⧽</code> | |||
Hovering over the abbreviation below should display a popup with the definition: | |||
* USA <= adjust to any term defined on [[{{int:Lingo-terminologypagename}}]] | |||
== Lockdown == | == Lockdown == | ||
* Check the values of the configuration settings <code>$wgNamespacePermissionLockdown</code>, <code>$wgSpecialPageLockdown</code>, and <code>$wgActionLockdown</code> | |||
* 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 | |||
== Loops == | == Loops == | ||
Line 288: | Line 293: | ||
== MultimediaViewer == | == MultimediaViewer == | ||
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 <code>Open in Media Viewer</code> button: | 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 <code>Open in Media Viewer</code> button: | ||
:[[File: | :[[File:JoshuaReynoldsParty.jpg|50px]] | ||
== MyVariables == | == MyVariables == | ||
Line 300: | Line 305: | ||
== OpenGraphMeta == | == OpenGraphMeta == | ||
;Test | ;Test | ||
[[File:{{#setmainimage: | [[File:{{#setmainimage:JoshuaReynoldsParty.jpg}}|100px]] | ||
;Expected: | ;Expected: | ||
[[File: | [[File:JoshuaReynoldsParty.jpg|100px]] | ||
== OpenID Connect == | == OpenID Connect == | ||
No test was invented. The extension must be listed on [[Special:Version]]. | No test was invented. The extension must be listed on [[Special:Version]]. | ||
== Page Importer == | == Page Importer == | ||
Line 334: | Line 334: | ||
== Parsoid == | == Parsoid == | ||
Used to support the VisualEditor extension. If that extension is working, Parsoid works. The extension must be listed on [[Special:Version]]. | |||
== PDF Handler == | |||
You should see the content of the uploaded PDF ([[media:ExamplePDF.pdf|ExamplePDF.pdf]]): | |||
[[File:ExamplePDF.pdf|page=1|200px|Succeeded]] | |||
== PluggableAuth == | == PluggableAuth == | ||
Line 373: | Line 378: | ||
== Scribunto == | == Scribunto == | ||
=== [[Module:String]] | === [[Module:String]] === | ||
; Test : {{#invoke:String|len|This is a test.}} | ; Test : {{#invoke:String|len|This is a test.}} | ||
; Expected : 15 | ; Expected : 15 | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;"> | ||
<div style="font-weight:bold;line-height:1.6;"> | <div style="font-weight:bold;line-height:1.6;"> | ||
Source of [[Module: | Source of [[Module:String]]</div> | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
<pre> | <pre> | ||
local p = {} | local p = {} | ||
function p.len(frame) | |||
local s = frame.args[1] | |||
function p. | return mw.ustring.len( s ) | ||
end | end | ||
return p | return p | ||
</pre> | </pre> | ||
</div></div> | </div></div> | ||
== SimpleMathJax == | == SimpleMathJax == | ||
Line 492: | Line 434: | ||
pass | pass | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== TalkRight == | |||
<code>talk</code> right should be present [[Special:ListGroupRights|here]]. | |||
== TemplateData == | == TemplateData == | ||
[{{fullurl:Template:Test|action=edit}} This link should take you to a page with the <code>Manage TemplateData</code> button] (normally below the first heading). | [{{fullurl:Template:Test|action=edit}} This link should take you to a page with the <code>Manage TemplateData</code> button] (normally below the first heading). | ||
== TextExtracts == | == TextExtracts == | ||
Line 516: | Line 458: | ||
== UserFunctions == | == UserFunctions == | ||
; Test : {{#ifanon: | ; Test : {{#ifanon:You are not logged in|You are logged in}} | ||
; Expected : | ; Expected : "You are not logged in" when not logged in, and "You are logged in" when you are | ||
== Variables == | == Variables == | ||
; Test : {{#vardefine:test|testing}}{{#var:test}} | ; Test : {{#vardefine:test|testing}}{{#var:test}} | ||
; Expected : testing | ; Expected : testing | ||
== VEForAll == | |||
The <code>ext.veforall.main</code> ResourceLoader module should be registered; in the developer console running <code>mw.loader.getState('ext.veforall.main');</code> should return a string (rather than <code>null</code>). | |||
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 == | == VisualEditor == |
Latest revision as of 01:56, 5 January 2025
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.
Admin Links
This should be a valid link: Special:AdminLinks
If you are an admin, you should see links by your personal tools.
AdvancedSearch
If #CirrusSearch is enabled, the extension produces the "Advanced Search" form on Special:Search.
Approved Revs
This should be a valid link: Special:ApprovedRevs
Arrays
- Test
- orange, red, yellow, yellow
- Expected
- orange, red, yellow, yellow
Article Feedback
- Note: this is for the extension
ArticleFeedbackv5
Special:ArticleFeedbackv5 should exist and allow access to the feedback system.
BatchUserRights
This should be a valid link: Special:BatchUserRights
Bootstrap
- 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
Should be an accordion below:
Headline for Panel1
Headline for Panel2
Headline for Panel3
Headline for Panel4
Cargo
The Special:CargoTables should exist
CategoryTree
A category tree should be shown:
CharInsert
CirrusSearch
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
- Test
- Text[1]
- ↑ Test
- Expected
- Text[1]
- Jump up ↑ Test
CiteThisPage
This should be a valid link: Special:CiteThisPage
CodeEditor
This should open in the ACE editor interface: edit
CodeMirror
- The "Editing" tab on Special:Preferences should have the "Enable colorblind-friendly mode" checkbox ("Accessibility" section).
ContributionScores
This should be a valid link: Special:ContributionScores
Data Transfer
This should be a valid link: Special:ImportCSV
Description2
This should produce "Description2 works!" in the description meta tag of this page head.
DismissableSiteNotice
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
- Expected
FamilySearch Wiki:Extension tests
- Result
FamilySearch Wiki:Extension tests
Echo
This should be a valid link: Special:Notifications
Elastica
Usually, it is a dependency of CirrusSearch. If CirrusSearch test is passed, Elastica works. The extension must be listed on Special:Version.
EmailFile
This should be a valid link: Special:EmailFile
External Data
- Test
- Europe
- Expected
- Europe
FsLookAndFeel
The ext.fslookandfeel.scripts
ResourceLoader module should be registered; in the developer console running mw.loader.getState('ext.fslookandfeel.scripts');
should return a string (rather than null
).
FsSignin
No test was invented. The extension must be listed on Special:Version.
Gadgets
- This link must not contain the error message "
FamilySearch Wiki does not have namespace "2300"
. - You have gadgets!
GlobalNotice
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 -
.
GoogleTranslator
The sidebar should include an option to translate the page into different languages.
Header Tabs
Two tabs should be visible below.
ImageMap
InputBox
- Test
- Expected
- An input box
Interwiki
This should be a valid link: Special:Interwiki
LabeledSectionTransclusion
- 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
Lingo
- Test
- Terminology
- Expected
- Whatever except
⧼Lingo-termeinologypagename⧽
Hovering over the abbreviation below should display a popup with the definition:
- USA <= adjust to any term defined on Terminology
Lockdown
- 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
Loops
- Note
- this extension requires that the Variables extension also be installed
- Test
- 123
- Expected
- 1 2 3
MagicNoCache
The table cell should be empty:
Maps
- Variant 1
- Test
- 52° 30' 58.57" N, 13° 22' 39.73" E
- Expected
- 52° 30' 58.59" N, 13° 22' 39.73" E
- Variant 2
- Test
- 52° 30' 58.57" N, 13° 22' 39.73" E
- Expected
- 52° 30' 58.59" N, 13° 22' 39.73" E
MasonryMainPage
Test |
---|
This should be orange |
Test2 |
---|
This should be blue and wider |
Test |
---|
This should be orange |
Test2 |
---|
This should be blue and wider |
Test |
---|
This should be orange |
Test2 |
---|
This should be blue and wider |
Test |
---|
This should be orange |
MobileFrontend
MultimediaViewer
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
- Test
- 50.17.167.225
- Expected
- Your user name or the IP for anonymous users
Nuke
This should be a valid link: Special:Nuke
OpenGraphMeta
- Test
- Expected
OpenID Connect
No test was invented. The extension must be listed on Special:Version.
Page Importer
No test was invented. The extension must be listed on Special:Version.
PageForms
This should be a valid link: Special:Forms
PageImages
Parser Function Helper
No test was invented. The extension must be listed on Special:Version.
ParserFunctions
- Test math functions
- 10
- Expected
- 10
- Test string functions
- 8
- Expected
- 8
Parsoid
Used to support the VisualEditor extension. If that extension is working, Parsoid works. The extension must be listed on Special:Version.
PDF Handler
You should see the content of the uploaded PDF (ExamplePDF.pdf):
PluggableAuth
No test was invented. The extension must be listed on Special:Version.
Poem
- 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
Renameuser
This should be a valid link: Special:RenameUser
Replace Text
This should be a valid link: Special:ReplaceText
RevisionSlider
Check Browse history Interactively slider interface at the top of Difference between revisions page (history)
RottenLinks
This should be a valid link: Special:RottenLinks
SandboxLink
Sandbox link should be added on user's personal tools menu (at the top)
Scribunto
Module:String
- Test
- 15
- Expected
- 15
local p = {} function p.len(frame) local s = frame.args[1] return mw.ustring.len( s ) end return p
SimpleMathJax
- Note
- this extension does not work with the Math extension installed
- Test
- [math]\displaystyle{ \int_{(x,y)\in C} x^3\, dx + 4y^2\, dy }[/math]
- Expected
- ∫(x,y)∈Cx3dx+4y2dy (but much better-looking)
And if SMJ
added as $wgSmjExtraInlineMath = [ [ 'SMJ(', ')SMJ' ] ];
in LocalSettings.php file:
- Test
- SMJ(E=mc^2)SMJ
- Expected
- E=mc^2 (but much better-looking)
SpamBlacklist
This should display the spam blacklist log: spamblacklist.
SubPageList
- Result
1
- Expected
An integer matching the number of pages at Special:PrefixIndex/FamilySearch Wiki:Extension tests/
SyntaxHighlight
- 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
TalkRight
talk
right should be present here.
TemplateData
This link should take you to a page with the Manage TemplateData
button (normally below the first heading).
TextExtracts
The output should not contain Unrecognized parameter: exchars
error:
Thanks
Special:Log/thanks exists.
TitleBlacklist
TwitterCards
No test was invented. The extension must be listed on Special:Version.
Upload Wizard
UploadWizard is displayed at Special:UploadWizard
UserFunctions
- 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
- Test
- testing
- Expected
- testing
VEForAll
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
This should load VisualEditor in edit mode: edit
WhoIsWatching
Should show the number of watching users below:
Widgets
- Test
- Widget
- Expected
- Widget
WikiEditor
This should load a tabbed WikiEditor: edit
WikiSEO
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.
Wiretap
This should be a valid link: Special:Wiretap
YouTube