FamilySearch Wiki:Extension tests: Difference between revisions
(MFAM-266 update tests for installed extensions) |
m (→Semantic Meeting Minutes: switch test and expected lines) |
||
| Line 7: | Line 7: | ||
If you are an admin, you should see links by your personal tools. | If you are an admin, you should see links by your personal tools. | ||
== AdvancedSearch == | == AdvancedSearch == | ||
If [[#CirrusSearch]] is enabled, the extension produces the "Advanced Search" form on | If [[#CirrusSearch]] is enabled, the extension produces the "Advanced Search" form on Special:Search. | ||
== Approved Revs == | == Approved Revs== | ||
This should be a valid link: | This should be a valid link: | ||
[[Special:ApprovedRevs]] | [[Special:ApprovedRevs]] | ||
== Arrays == | == Arrays == | ||
| Line 24: | Line 21: | ||
; Expected | ; Expected | ||
: orange, red, yellow, yellow | : orange, red, yellow, yellow | ||
== BatchUserRights == | == BatchUserRights == | ||
This should be a valid link: | This should be a valid link: | ||
[[Special:BatchUserRights]] | [[Special:BatchUserRights]] | ||
== Bootstrap == | == Bootstrap == | ||
: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 alert-success shadow text-white font-weight-bold"> | ||
I am bootstrapped | I am bootstrapped | ||
</div> | </div> | ||
== BootstrapComponents == | == BootstrapComponents == | ||
| Line 48: | Line 42: | ||
<bootstrap_panel heading="Headline for Panel4" color="info">Text inside the panel</bootstrap_panel> | <bootstrap_panel heading="Headline for Panel4" color="info">Text inside the panel</bootstrap_panel> | ||
</bootstrap_accordion> | </bootstrap_accordion> | ||
== Cargo == | == Cargo == | ||
The [[Special:CargoTables]] should exist | The [[Special:CargoTables]] should exist | ||
== CategoryTree == | == CategoryTree == | ||
A category tree should be shown: | A category tree should be shown: | ||
<categorytree mode=pages>Tests</categorytree> | <categorytree mode=pages>Tests</categorytree> | ||
== CharInsert == | == CharInsert == | ||
| Line 64: | Line 55: | ||
; Expected | ; Expected | ||
: <span class="plainlinks"> [{{fullurl:{{FULLPAGENAME}}}}# Á]</span> | : <span class="plainlinks"> [{{fullurl:{{FULLPAGENAME}}}}# Á]</span> | ||
== CirrusSearch == | == CirrusSearch == | ||
;For semantic wikis | |||
* [{{ | The search results should display "'''ask'''" in bold: | ||
* [{{SERVER}}{{SCRIPTPATH}}/index.php?search=insource%3A+%23ask%3A&title=Special%3ASearch&profile=all&fulltext=1 Search in the source] | |||
;For Cite enabled wikis | |||
The search results should display "'''ref'''" in bold: | |||
* [{{SERVER}}{{SCRIPTPATH}}/index.php?search=insource%3A+ref&title=Special%3ASearch&profile=all&fulltext=1 Search in the source] | |||
== Cite == | == Cite == | ||
| Line 83: | Line 75: | ||
</li> | </li> | ||
</ol> | </ol> | ||
== CiteThisPage == | == CiteThisPage == | ||
This should be a valid link: | This should be a valid link: | ||
[[Special:CiteThisPage]] | [[Special:CiteThisPage]] | ||
== CodeEditor == | == CodeEditor == | ||
This should open in the ACE editor interface: | This should open in the ACE editor interface: | ||
[{{fullurl: Mediawiki:Common.css|action=edit}} edit] | [{{fullurl: Mediawiki:Common.css|action=edit}} edit] | ||
== 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 == | ||
This should be a valid link: | This should be a valid link: | ||
[[Special:ContributionScores]] | [[Special:ContributionScores]] | ||
== Data Transfer == | == Data Transfer == | ||
This should be a valid link: | This should be a valid link: | ||
[[Special:ImportCSV]] | [[Special:ImportCSV]] | ||
== Description2 == | == Description2 == | ||
This should produce "Description2 works!" in the description meta tag of this page head. | This should produce "Description2 works!" in the description meta tag of this page head. | ||
{{#description2:Description2 works!}} | {{#description2:Description2 works!}} | ||
== DismissableSiteNotice == | == DismissableSiteNotice == | ||
The <code>ext.dismissableSiteNotice</code> ResourceLoader module should be registered; in the developer console running <code>mw.loader.getState('ext.dismissableSiteNotice');</code> should return a string (rather than <code>null</code>). | The <code>ext.dismissableSiteNotice</code> ResourceLoader module should be registered; in the developer console running <code>mw.loader.getState('ext.dismissableSiteNotice');</code> should return a string (rather than <code>null</code>). | ||
== DisplayTitle== | |||
== DisplayTitle == | |||
;Expected: | ;Expected: | ||
{{FULLPAGENAME}} | {{FULLPAGENAME}} | ||
;Result: | ;Result: | ||
{{#getdisplaytitle:{{FULLPAGENAME}}}} | {{#getdisplaytitle:{{FULLPAGENAME}}}} | ||
== Echo == | == Echo == | ||
This should be a valid link: | This should be a valid link: | ||
[[Special:Notifications]] | [[Special:Notifications]] | ||
== Elastica == | == Elastica == | ||
Usually, it is a dependency of CirrusSearch. If CirrusSearch test is passed, Elastica works. The extension must be listed on [[Special:Version]]. | Usually, it is a dependency of CirrusSearch. If CirrusSearch test is passed, Elastica works. The extension must be listed on [[Special:Version]]. | ||
== EmailFile == | == EmailFile == | ||
This should be a valid link: | This should be a valid link: | ||
[[Special:EmailFile]] | [[Special:EmailFile]] | ||
== External Data == | == External Data == | ||
{{#get_web_data:url=https://www.semantic-mediawiki.org/wiki/Special:Ask/-5B-5BGermany-5D-5D/-3FLocated_in/format%3Dcsv/sep%3D, | {{#get_web_data:url=https://www.semantic-mediawiki.org/wiki/Special:Ask/-5B-5BGermany-5D-5D/-3FLocated_in/format%3Dcsv/sep%3D, | ||
|format=csv with header|data=Located in=Located in}} | |format=csv with header|data=Located in=Located in}} | ||
;Test :{{#external_value:Located in}} | ;Test :{{#external_value:Located in}} | ||
;Expected :Europe | ;Expected :Europe | ||
== FsLookAndFeel == | |||
The <code>ext.fslookandfeel.scripts</code> ResourceLoader module should be registered; in the developer console running <code>mw.loader.getState('ext.fslookandfeel.scripts');</code> should return a string (rather than <code>null</code>). | |||
== FsSignin == | == FsSignin == | ||
No test was invented. The extension must be listed on [[Special:Version]]. | No test was invented. The extension must be listed on [[Special:Version]]. | ||
== Gadgets == | == Gadgets == | ||
* [{{fullurl: Special:AllPages|from=&to=&namespace=2300}} This link] must '''not contain''' the error message "<code>{{SITENAME}} does not have namespace "2300"</code>. | * [{{fullurl: Special:AllPages|from=&to=&namespace=2300}} This link] must '''not contain''' the error message "<code>{{SITENAME}} does not have namespace "2300"</code>. | ||
* {{#ifeq: {{NAMESPACENUMBER:Gadget:Something}}|2300|You have gadgets!|No gadgets or something went unusual...}} | * {{#ifeq: {{NAMESPACENUMBER:Gadget:Something}}|2300|You have gadgets!|No gadgets or something went unusual...}} | ||
== GlobalNotice == | == GlobalNotice == | ||
No test was invented. The extension must be listed on [[Special:Version]]. | |||
== GoogleTranslator == | == GoogleTranslator == | ||
The sidebar should include an option to translate the page into different languages. | The sidebar should include an option to translate the page into different languages. | ||
== Header Tabs == | == Header Tabs == | ||
| Line 178: | Line 148: | ||
More content | More content | ||
<headertabs /> | <headertabs /> | ||
== ImageMap == | == ImageMap == | ||
<imagemap> | <imagemap> | ||
Image: | Image:JoshuaReynoldsParty.jpg|thumb|center|400px|alt=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.|Image map example. Clicking on a person in the picture causes the browser to load the appropriate article. | ||
poly 133 343 124 287 159 224 189 228 195 291 222 311 209 343 209 354 243 362 292 466 250 463 [[wikipedia:Samuel Johnson|Dr Johnson - Dictionary writer]] | poly 133 343 124 287 159 224 189 228 195 291 222 311 209 343 209 354 243 362 292 466 250 463 [[wikipedia:Samuel Johnson|Dr Johnson - Dictionary writer]] | ||
| Line 199: | Line 168: | ||
rect 12 10 702 500 [[wikipedia:The Club (Literary Club)|Use button to enlarge or use hyperlinks]] | rect 12 10 702 500 [[wikipedia:The Club (Literary Club)|Use button to enlarge or use hyperlinks]] | ||
</imagemap> | </imagemap> | ||
== InputBox == | == InputBox == | ||
| Line 209: | Line 177: | ||
; Expected | ; Expected | ||
: An input box | : An input box | ||
== Interwiki == | == Interwiki == | ||
This should be a valid link: | This should be a valid link: | ||
[[Special:Interwiki]] | [[Special:Interwiki]] | ||
== LabeledSectionTransclusion == | == LabeledSectionTransclusion == | ||
;Test :{{#lst:{{FULLPAGENAME}}/Labeled Section Transclusion|test1}} | ;Test :{{#lst:{{FULLPAGENAME}}/Labeled Section Transclusion|test1}} | ||
;Expected :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. | '''NOTE:''' In this case, the "Section by heading" must be a section in the page that is to be transcluded. | ||
;Test :{{#lsth:{{FULLPAGENAME}}/Labeled Section Transclusion|Section by heading}} | ;Test :{{#lsth:{{FULLPAGENAME}}/Labeled Section Transclusion|Section by heading}} | ||
;Expected :This is a section with a heading | ;Expected :This is a section with a heading | ||
| Line 233: | Line 199: | ||
=== Section by heading === | === Section by heading === | ||
This is a section with a heading | This is a section with a heading | ||
</pre> | </pre> | ||
</div></div> | </div></div> | ||
== Lingo == | == Lingo == | ||
Lingo is a glossary extension. It lets you define a list of abbreviations and their definitions on [[{{MediaWiki:Lingo-terminologypagename}}]] page and then displays these definitions whenever an abbreviation is hovered over in an article. | |||
Check it below: | |||
FHL <- is abbreviations | |||
== Lockdown == | == Lockdown == | ||
No test was invented. The extension must be listed on [[Special:Version]]. | |||
== Loops == | == Loops == | ||
; Note: this extension requires that the Variables extension also be installed | ; Note: this extension requires that the Variables extension also be installed | ||
;Test : {{#vardefine: i | 1 }}{{#while: | ;Test : {{#vardefine: i | 1 }}{{#while: | ||
| {{#ifexpr: {{#var: i }} < 4 | true }} | | {{#ifexpr: {{#var: i }} < 4 | true }} | ||
| | | | ||
{{#var: i }} {{#vardefine: i | {{#expr: {{#var: i }} + 1 }} }} | {{#var: i }} {{#vardefine: i | {{#expr: {{#var: i }} + 1 }} }} | ||
}} | }} | ||
;Expected : 1 2 3 | ;Expected : 1 2 3 | ||
== MagicNoCache == | == MagicNoCache == | ||
| Line 273: | Line 228: | ||
|__NOCACHE__ | |__NOCACHE__ | ||
|} | |} | ||
== Maps == | == Maps == | ||
;Variant 1 | ;Variant 1 | ||
{{#display_map:address=Brandenburg Gate, Berlin, Germany|width=200|height=150|zoom=17|type=hybrid}} | {{#display_map:address=Brandenburg Gate, Berlin, Germany|width=200|height=150|zoom=17|type=hybrid}} | ||
;Test :{{#geocode:Brandenburg Gate, Berlin, Germany}} | ;Test :{{#geocode:Brandenburg Gate, Berlin, Germany}} | ||
;Expected :52° 30' 58.59" N, 13° 22' 39.73" E | ;Expected :52° 30' 58.59" N, 13° 22' 39.73" E | ||
;Variant 2 | ;Variant 2 | ||
{{#display_map: Brandenburg Gate, Berlin~Brandenburg Gate }} | {{#display_map: Brandenburg Gate, Berlin~Brandenburg Gate }} | ||
;Test :{{#geocode:Brandenburg Gate}} | ;Test :{{#geocode:Brandenburg Gate}} | ||
;Expected :52° 30' 58.59" N, 13° 22' 39.73" E | ;Expected :52° 30' 58.59" N, 13° 22' 39.73" E | ||
== MasonryMainPage == | |||
<div id="mediawiki-masonry-main-page-container"> | |||
{{#masonry-block: title=Test | |||
| color=orange | |||
| body = | |||
This should be orange | |||
}}{{#masonry-block: title=Test2 | |||
| color=blue | |||
| width=2 | |||
| body = | |||
This should be blue and wider | |||
}} | |||
{{#masonry-block: title=Test | |||
| color=orange | |||
| body = | |||
This should be orange | |||
}}{{#masonry-block: title=Test2 | |||
| color=blue | |||
| width=2 | |||
| body = | |||
This should be blue and wider | |||
}} | |||
{{#masonry-block: title=Test | |||
| color=orange | |||
| body = | |||
This should be orange | |||
}}{{#masonry-block: title=Test2 | |||
| color=blue | |||
| width=2 | |||
| body = | |||
This should be blue and wider | |||
}}{{#masonry-block: title=Test | |||
| color=orange | |||
| body = | |||
This should be orange | |||
}} | |||
</div> | |||
== MobileFrontend == | == MobileFrontend == | ||
* [{{fullurl:{{FULLPAGENAME}}|mobileaction=toggle_view_mobile}} This link] should open '''mobile''' version | * [{{fullurl:{{FULLPAGENAME}}|mobileaction=toggle_view_mobile}} This link] should open '''mobile''' version | ||
* [{{fullurl:{{FULLPAGENAME}}|mobileaction=toggle_view_desktop}} This link] should open '''desktop''' version | * [{{fullurl:{{FULLPAGENAME}}|mobileaction=toggle_view_desktop}} This link] should open '''desktop''' version | ||
== 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:Australian Capital Territory and New South Wales, Australia.jpg|50px]] | :[[File:Australian Capital Territory and New South Wales, Australia.jpg|50px]] | ||
== MyVariables == | == MyVariables == | ||
; Test : {{CURRENTUSER}} | ; Test : {{CURRENTUSER}} | ||
; Expected : Your user name or the IP for anonymous users | ; Expected : Your user name or the IP for anonymous users | ||
== Nuke == | == Nuke == | ||
This should be a valid link: | This should be a valid link: | ||
[[Special:Nuke]] | [[Special:Nuke]] | ||
== OpenGraphMeta == | == OpenGraphMeta == | ||
| Line 312: | Line 299: | ||
;Expected: | ;Expected: | ||
[[File:Australian Capital Territory and New South Wales, Australia.jpg|100px]] | [[File:Australian Capital Territory and New South Wales, Australia.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]]. | ||
== PDF Handler == | == PDF Handler == | ||
| Line 323: | Line 308: | ||
[[File:Overview of FamilySearch JMR2023.pdf|page=1|200px|Succeeded]] | [[File:Overview of FamilySearch JMR2023.pdf|page=1|200px|Succeeded]] | ||
== Page Importer == | |||
No test was invented. The extension must be listed on [[Special:Version]]. | |||
== PageForms == | == PageForms == | ||
This should be a valid link: | This should be a valid link: | ||
[[Special:Forms]] | [[Special:Forms]] | ||
== PageImages == | == PageImages == | ||
* [{{SERVER}}{{SCRIPTPATH}}/api.php?action=query&prop=pageimages&titles={{PAGENAMEE}} This must not fire a warning about pageimages] | * [{{SERVER}}{{SCRIPTPATH}}/api.php?action=query&prop=pageimages&titles={{PAGENAMEE}} This must not fire a warning about pageimages] | ||
* [{{SERVER}}{{SCRIPTPATH}}/api.php?action=help&modules=query This should list '''pageimages''' property] | * [{{SERVER}}{{SCRIPTPATH}}/api.php?action=help&modules=query This should list '''pageimages''' property] | ||
== Parser Function Helper == | == Parser Function Helper == | ||
No test was invented. The extension must be listed on [[Special:Version]]. | No test was invented. The extension must be listed on [[Special:Version]]. | ||
== ParserFunctions == | == ParserFunctions == | ||
; Test math functions: {{#expr: 4 + 6}} | ; Test math functions: {{#expr: 4 + 6}} | ||
; Expected : 10 | ; Expected : 10 | ||
; Test string functions: {{#ifeq:{{#expr: 4 + 6}}|10|{{#ifeq:{{#len:Icecream }}|8|{{#len:Icecream }}|disabled}}}} | ; Test string functions: {{#ifeq:{{#expr: 4 + 6}}|10|{{#ifeq:{{#len:Icecream }}|8|{{#len:Icecream }}|disabled}}}} | ||
; Expected : {{#ifeq:{{#len:Icecream }}|8|8|disabled}} | ; Expected : {{#ifeq:{{#len:Icecream }}|8|8|disabled}} | ||
== Parsoid == | == Parsoid == | ||
No test was invented. The extension must be listed on [[Special:Version]]. | |||
== PluggableAuth == | == PluggableAuth == | ||
No test was invented. The extension must be listed on [[Special:Version]]. | No test was invented. The extension must be listed on [[Special:Version]]. | ||
== Poem == | == Poem == | ||
| Line 364: | Line 341: | ||
Où les vivants pensifs travaillent tristement, | Où les vivants pensifs travaillent tristement, | ||
::Et qui donne à regret à cette race humaine | ::Et qui donne à regret à cette race humaine | ||
Un peu de pain pour tant de labeur et de peine ; | Un peu de pain pour tant de labeur et de peine ; | ||
::Des hommes durs, éclos sur ces sillons ingrats ; | ::Des hommes durs, éclos sur ces sillons ingrats ; | ||
Des cités d’où s’en vont, en se tordant les bras, | Des cités d’où s’en vont, en se tordant les bras, | ||
::La charité, la paix, la foi, sœurs vénérables ; | ::La charité, la paix, la foi, sœurs vénérables ; | ||
L’orgueil chez les puissants et chez les misérables ; | L’orgueil chez les puissants et chez les misérables ; | ||
</poem> | </poem> | ||
; Expected | ; Expected | ||
: A nicely formatted poem | : A nicely formatted poem | ||
== Renameuser == | == Renameuser == | ||
This should be a valid link: | This should be a valid link: | ||
[[Special:RenameUser]] | [[Special:RenameUser]] | ||
== Replace Text == | == Replace Text == | ||
This should be a valid link: | This should be a valid link: | ||
[[Special:ReplaceText]] | [[Special:ReplaceText]] | ||
== RevisionSlider == | == RevisionSlider == | ||
Check '''Browse history Interactively''' slider interface at the top of ''Difference between revisions'' page ([{{fullurl:{{FULLPAGENAME}}|action=history}} history]) | Check '''Browse history Interactively''' slider interface at the top of ''Difference between revisions'' page ([{{fullurl:{{FULLPAGENAME}}|action=history}} history]) | ||
== RottenLinks == | == RottenLinks == | ||
This should be a valid link: | This should be a valid link: | ||
[[Special:RottenLinks]] | [[Special:RottenLinks]] | ||
== SandboxLink == | == SandboxLink == | ||
'''Sandbox''' link should be added on user's personal tools menu (at the top) | '''Sandbox''' link should be added on user's personal tools menu (at the top) | ||
== Scribunto == | == Scribunto == | ||
| Line 401: | Line 372: | ||
; Test : {{#invoke:String|len|This is a test.}} | ; Test : {{#invoke:String|len|This is a test.}} | ||
; Expected : 15 | ; Expected : 15 | ||
== Semantic Drilldown == | |||
This should be a valid link: | |||
[[Special:BrowseData]] | |||
== Semantic Meeting Minutes == | |||
;Test: {{#synopsize: | |||
Only this line should show, with no lines after it | |||
This line should '''not''' show | |||
|9999 | |||
|1}} | |||
;Expected: Only this line should show, with no lines after it | |||
== SemanticCompoundQueries == | |||
This should produce no error: | |||
{{#compound_query: [[:+]][[Modification date::+]];?Modification date;limit=1;order=rand | |||
|[[File:+]][[Modification date::+]];?Modification date;limit=1;order=rand | |||
|link=none | |||
|format=ul | |||
}} | |||
== SemanticMediaWiki == | |||
; Test :[[Test::NONEXISTENTPAGE|Test]] __SHOWFACTBOX__ | |||
; Expected :[[NONEXISTENTPAGE|Test]] | |||
: There should be a factbox at the page bottom. | |||
== SemanticResultFormats == | |||
; Test (old wikis) | |||
{{#ask:[[{{FULLPAGENAME}}]]|?Test|format=datatables}} | |||
; Expected | |||
: A nice-looking DataTable with a search field | |||
== SemanticScribunto == | |||
Should be an icon with information popup -> {{#invoke:SemanticScribuntoTest|info|some text}} | |||
{{#invoke:SemanticScribuntoTest|inlineInfo}} | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;"> | |||
<div style="font-weight:bold;line-height:1.6;"> | |||
Source of [[Module:SemanticScribuntoTest]]</div> | |||
<div class="mw-collapsible-content"> | |||
<pre> | |||
-- 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 | |||
</pre> | |||
</div></div> | |||
== SimpleMathJax == | == SimpleMathJax == | ||
| Line 416: | Line 471: | ||
; Expected | ; Expected | ||
: E=mc^2 (but much better-looking) | : E=mc^2 (but much better-looking) | ||
== SpamBlacklist == | == SpamBlacklist == | ||
This should display the spam blacklist log: [{{fullurl:Special:Log|type=spamblacklist}} spamblacklist]. | This should display the spam blacklist log: [{{fullurl:Special:Log|type=spamblacklist}} spamblacklist]. | ||
== SubPageList == | == SubPageList == | ||
| Line 427: | Line 480: | ||
;Expected | ;Expected | ||
An integer matching the number of pages at [[Special:PrefixIndex/{{FULLPAGENAME}}/]] | An integer matching the number of pages at [[Special:PrefixIndex/{{FULLPAGENAME}}/]] | ||
== SyntaxHighlight == | == SyntaxHighlight == | ||
| Line 442: | Line 494: | ||
pass | pass | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== 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 == | ||
The output should not contain <code>Unrecognized parameter: exchars</code> error: | The output should not contain <code>Unrecognized parameter: exchars</code> error: | ||
* [{{SERVER}}{{SCRIPTPATH}}/api.php?action=query&prop=extracts&exchars=175&format=json&titles={{FULLPAGENAMEE}} Extract] | * [{{SERVER}}{{SCRIPTPATH}}/api.php?action=query&prop=extracts&exchars=175&format=json&titles={{FULLPAGENAMEE}} Extract] | ||
== Thanks == | == Thanks == | ||
[[Special:Log/thanks]] exists. | [[Special:Log/thanks]] exists. | ||
== TitleBlacklist == | == TitleBlacklist == | ||
* [{{SERVER}}{{SCRIPTPATH}}/api.php?action=help&modules=titleblacklist This should document the '''titleblacklist''' API] | * [{{SERVER}}{{SCRIPTPATH}}/api.php?action=help&modules=titleblacklist This should document the '''titleblacklist''' API] | ||
== TwitterCards == | == TwitterCards == | ||
No test was invented. The extension must be listed on [[Special:Version]]. | No test was invented. The extension must be listed on [[Special:Version]]. | ||
== Upload Wizard == | == Upload Wizard == | ||
UploadWizard is displayed at [[:Special:UploadWizard]] | UploadWizard is displayed at [[:Special:UploadWizard]] | ||
== UserFunctions == | == UserFunctions == | ||
; Test : {{#ifanon: | ; Test : {{#ifanon:It works|It works}} | ||
; Expected : | ; Expected : It works | ||
== VEForAll == | == VEForAll == | ||
The | No test was invented. The extension must be listed on [[Special:Version]]. | ||
== Variables == | == Variables == | ||
; Test : {{#vardefine:test|testing}}{{#var:test}} | ; Test : {{#vardefine:test|testing}}{{#var:test}} | ||
; Expected : testing | ; Expected : testing | ||
== VisualEditor == | == VisualEditor == | ||
This should load VisualEditor in edit mode: | This should load VisualEditor in edit mode: | ||
[{{fullurl:Main Page|veaction=edit}} edit] | [{{fullurl:Main Page|veaction=edit}} edit] | ||
== WhoIsWatching == | == WhoIsWatching == | ||
| Line 494: | Line 533: | ||
{{#whoiswatching:{{FULLPAGENAME}}}} | {{#whoiswatching:{{FULLPAGENAME}}}} | ||
== Widgets == | == Widgets == | ||
| Line 501: | Line 539: | ||
;Expected | ;Expected | ||
:Widget | :Widget | ||
== WikiEditor == | == WikiEditor == | ||
This should load a tabbed WikiEditor: | This should load a tabbed WikiEditor: | ||
[{{fullurl:Main Page|action=edit}} edit] | [{{fullurl:Main Page|action=edit}} edit] | ||
== WikiSEO == | == WikiSEO == | ||
| Line 531: | Line 567: | ||
</pre> | </pre> | ||
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. | 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 == | == Wiretap == | ||
This should be a valid link: | This should be a valid link: | ||
[[Special:Wiretap]] | [[Special:Wiretap]] | ||
== YouTube == | == YouTube == | ||
<youtube>VyBSS48E4xI</youtube> | <youtube>VyBSS48E4xI</youtube> | ||
Revision as of 02:14, 11 December 2024
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[edit | 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 | edit source]
If #CirrusSearch is enabled, the extension produces the "Advanced Search" form on Special:Search.
Approved Revs[edit | edit source]
This should be a valid link: Special:ApprovedRevs
Arrays[edit | edit source]
- Test
- orange, red, yellow, yellow
- Expected
- orange, red, yellow, yellow
BatchUserRights[edit | edit source]
This should be a valid link: Special:BatchUserRights
Bootstrap[edit | 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 | edit source]
Should be an accordion below:
Headline for Panel1
Headline for Panel2
Headline for Panel3
Headline for Panel4
Cargo[edit | edit source]
The Special:CargoTables should exist
CategoryTree[edit | edit source]
A category tree should be shown:
CharInsert[edit | edit source]
CirrusSearch[edit | edit source]
- For semantic wikis
The search results should display "ask" in bold:
- For Cite enabled wikis
The search results should display "ref" in bold:
Cite[edit | edit source]
- Test
- Text[1]
- ↑ Test
- Expected
- Text[1]
- Jump up ↑ Test
CiteThisPage[edit | edit source]
This should be a valid link: Special:CiteThisPage
CodeEditor[edit | edit source]
This should open in the ACE editor interface: edit
CodeMirror[edit | edit source]
- The "Editing" tab on Special:Preferences should have the "Enable colorblind-friendly mode" checkbox ("Accessibility" section).
ContributionScores[edit | edit source]
This should be a valid link: Special:ContributionScores
Data Transfer[edit | edit source]
This should be a valid link: Special:ImportCSV
Description2[edit | edit source]
This should produce "Description2 works!" in the description meta tag of this page head.
DismissableSiteNotice[edit | 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 | edit source]
- Expected
FamilySearch Wiki:Extension tests
- Result
FamilySearch Wiki:Extension tests
Echo[edit | edit source]
This should be a valid link: Special:Notifications
Elastica[edit | edit source]
Usually, it is a dependency of CirrusSearch. If CirrusSearch test is passed, Elastica works. The extension must be listed on Special:Version.
EmailFile[edit | edit source]
This should be a valid link: Special:EmailFile
External Data[edit | edit source]
- Test
- Europe
- Expected
- Europe
FsLookAndFeel[edit | edit source]
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[edit | edit source]
No test was invented. The extension must be listed on Special:Version.
Gadgets[edit | edit source]
- This link must not contain the error message "
FamilySearch Wiki does not have namespace "2300". - You have gadgets!
GlobalNotice[edit | edit source]
No test was invented. The extension must be listed on Special:Version.
GoogleTranslator[edit | edit source]
The sidebar should include an option to translate the page into different languages.
Header Tabs[edit | edit source]
Two tabs should be visible below.
ImageMap[edit | edit source]
InputBox[edit | edit source]
- Test
- Expected
- An input box
Interwiki[edit | edit source]
This should be a valid link: Special:Interwiki
LabeledSectionTransclusion[edit | 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
Lingo[edit | edit source]
Lingo is a glossary extension. It lets you define a list of abbreviations and their definitions on Terminology page and then displays these definitions whenever an abbreviation is hovered over in an article.
Check it below:
FHL <- is abbreviations
Lockdown[edit | edit source]
No test was invented. The extension must be listed on Special:Version.
Loops[edit | edit source]
- Note
- this extension requires that the Variables extension also be installed
- Test
- 123
- Expected
- 1 2 3
MagicNoCache[edit | edit source]
The table cell should be empty:
Maps[edit | edit source]
- 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[edit | edit source]
{{#masonry-block: title=Test
| color=orange | body =
This should be orange }}{{#masonry-block: title=Test2
| color=blue | width=2 | body =
This should be blue and wider }} {{#masonry-block: title=Test
| color=orange | body =
This should be orange }}{{#masonry-block: title=Test2
| color=blue | width=2 | body =
This should be blue and wider }} {{#masonry-block: title=Test
| color=orange | body =
This should be orange }}{{#masonry-block: title=Test2
| color=blue | width=2 | body =
This should be blue and wider }}{{#masonry-block: title=Test
| color=orange | body =
This should be orange }}
MobileFrontend[edit | edit source]
MultimediaViewer[edit | 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 | edit source]
- Test
- 23.22.79.156
- Expected
- Your user name or the IP for anonymous users
Nuke[edit | edit source]
This should be a valid link: Special:Nuke
OpenGraphMeta[edit | edit source]
- Test
- Expected
OpenID Connect[edit | edit source]
No test was invented. The extension must be listed on Special:Version.
PDF Handler[edit | edit source]
You should see the content of the uploaded PDF (Overview of FamilySearch JMR2023.pdf):
Page Importer[edit | edit source]
No test was invented. The extension must be listed on Special:Version.
PageForms[edit | edit source]
This should be a valid link: Special:Forms
PageImages[edit | edit source]
Parser Function Helper[edit | edit source]
No test was invented. The extension must be listed on Special:Version.
ParserFunctions[edit | edit source]
- Test math functions
- 10
- Expected
- 10
- Test string functions
- 8
- Expected
- 8
Parsoid[edit | edit source]
No test was invented. The extension must be listed on Special:Version.
PluggableAuth[edit | edit source]
No test was invented. The extension must be listed on Special:Version.
Poem[edit | 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
Renameuser[edit | edit source]
This should be a valid link: Special:RenameUser
Replace Text[edit | edit source]
This should be a valid link: Special:ReplaceText
RevisionSlider[edit | edit source]
Check Browse history Interactively slider interface at the top of Difference between revisions page (history)
RottenLinks[edit | edit source]
This should be a valid link: Special:RottenLinks
SandboxLink[edit | edit source]
Sandbox link should be added on user's personal tools menu (at the top)
Scribunto[edit | edit source]
Module:String (source)[edit | edit source]
- Test
- 15
- Expected
- 15
Semantic Drilldown[edit | edit source]
This should be a valid link: Special:BrowseData
Semantic Meeting Minutes[edit | edit source]
- Test
- {{#synopsize:
Only this line should show, with no lines after it
This line should not show |9999 |1}}
- Expected
- Only this line should show, with no lines after it
SemanticCompoundQueries[edit | edit source]
This should produce no error: {{#compound_query: +Modification date::+;?Modification date;limit=1;order=rand
|File:+Modification date::+;?Modification date;limit=1;order=rand |link=none |format=ul
}}
SemanticMediaWiki[edit | edit source]
SemanticResultFormats[edit | edit source]
- Test (old wikis)
{{#ask:FamilySearch Wiki:Extension tests|?Test|format=datatables}}
- Expected
- A nice-looking DataTable with a search field
SemanticScribunto[edit | edit source]
Should be an icon with information popup -> mw.smw module not found
Lua error in Module:SemanticScribuntoTest at line 31: attempt to index field 'smw' (a nil value).
-- 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
SimpleMathJax[edit | edit source]
- 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[edit | edit source]
This should display the spam blacklist log: spamblacklist.
SubPageList[edit | edit source]
- Result
1
- Expected
An integer matching the number of pages at Special:PrefixIndex/FamilySearch Wiki:Extension tests/
SyntaxHighlight[edit | 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
TemplateData[edit | edit source]
This link should take you to a page with the Manage TemplateData button (normally below the first heading).
TextExtracts[edit | edit source]
The output should not contain Unrecognized parameter: exchars error:
Thanks[edit | edit source]
Special:Log/thanks exists.
TitleBlacklist[edit | edit source]
TwitterCards[edit | edit source]
No test was invented. The extension must be listed on Special:Version.
Upload Wizard[edit | edit source]
UploadWizard is displayed at Special:UploadWizard
UserFunctions[edit | edit source]
- Test
- It works
- Expected
- It works
VEForAll[edit | edit source]
No test was invented. The extension must be listed on Special:Version.
Variables[edit | edit source]
- Test
- testing
- Expected
- testing
VisualEditor[edit | edit source]
This should load VisualEditor in edit mode: edit
WhoIsWatching[edit | edit source]
Should show the number of watching users below:
Widgets[edit | edit source]
- Test
- Widget
- Expected
- Widget
WikiEditor[edit | edit source]
This should load a tabbed WikiEditor: edit
WikiSEO[edit | 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.
Wiretap[edit | edit source]
This should be a valid link: Special:Wiretap
YouTube[edit | edit source]