Module:Commons link/testcases
| This is the test cases page for the module Module:Commons link. Results of the test cases. |
local p = require('Module:UnitTests')
function p:testGallery()
-- known link
self:preprocess_equals('{{#invoke:Commons link| getGallery | Mount Whitney}}',
'[[Commons:Mount Whitney|Mount Whitney]]')
-- known link with linktext
self:preprocess_equals('{{#invoke:Commons link| getGallery | Mount Whitney |linktext=Big Mountain}}',
'[[Commons:Mount Whitney|Big Mountain]]')
-- forced search
self:preprocess_equals('{{#invoke:Commons link| getGallery | search=Mount Whitney}}',
'[[Commons:Special:Search/Mount Whitney|Mount Whitney]]')
-- forced search + linktext
self:preprocess_equals('{{#invoke:Commons link| getGallery | search=Mount Whitney |linktext=Big Mountain}}',
'[[Commons:Special:Search/Mount Whitney|Big Mountain]]')
-- P935 matches sitelink
self:preprocess_equals('{{#invoke:Commons link| getGallery | qid=Q2217963}}',
'[[Commons:Samuel Baker House|Samuel Baker House]]')
-- P935 matches sitelink + linktext
self:preprocess_equals('{{#invoke:Commons link| getGallery | qid=Q2217963 |linktext=Big House}}',
'[[Commons:Samuel Baker House|Big House]]')
-- sitelink only, lcfirst
self:preprocess_equals('{{#invoke:Commons link| getGallery | qid=Q816044 | lcfirst=1}}',
'[[Commons:Bellows Falls, Vermont|bellows Falls, Vermont]]')
-- sitelink only, bold
self:preprocess_equals('{{#invoke:Commons link| getGallery | qid=Q816044 | bold=1}}',
'[[Commons:Bellows Falls, Vermont|<span style="font-weight:bold;">Bellows Falls, Vermont</span>]]')
-- sitelink only, italic
self:preprocess_equals('{{#invoke:Commons link| getGallery | qid=Q816044 | italic=1}}',
'[[Commons:Bellows Falls, Vermont|<span style="font-style:italic;">Bellows Falls, Vermont</span>]]')
-- sitelink only, nowrap
self:preprocess_equals('{{#invoke:Commons link| getGallery | qid=Q816044 | nowrap=1}}',
'[[Commons:Bellows Falls, Vermont|<span style="white-space:nowrap;">Bellows Falls, Vermont</span>]]')
-- sitelink + linktext
self:preprocess_equals('{{#invoke:Commons link| getGallery | qid=Q816044|linktext=Little Town}}',
'[[Commons:Bellows Falls, Vermont|Little Town]]')
-- sitelink and P935 inconsistent
self:preprocess_equals('{{#invoke:Commons link| getGallery | qid=Q139289}}',
'[[Commons:Special:Search/Boeing 737 MAX|Boeing 737 MAX]]')
-- sitelink and P935 inconsistent + linktext
self:preprocess_equals('{{#invoke:Commons link| getGallery | qid=Q139289|linktext=Not a plane}}',
'[[Commons:Special:Search/Boeing 737 MAX|Not a plane]]')
-- no sitelink or P935
self:preprocess_equals('{{#invoke:Commons link| getGallery | qid=Q29017978}}',
'[[Commons:Special:Search/Bell FCX-001|Bell FCX-001]]')
-- no sitelink or P935, but linktext
self:preprocess_equals('{{#invoke:Commons link| getGallery | qid=Q29017978|linktext=Medium Helicopter}}',
'[[Commons:Special:Search/Bell FCX-001|Medium Helicopter]]')
end
function p:testCategory()
-- known link
self:preprocess_equals('{{#invoke:Commons link| getCategory | Mount Whitney}}',
'[[Commons:Category:Mount Whitney|Mount Whitney]]')
-- known link with linktext
self:preprocess_equals('{{#invoke:Commons link| getCategory | Mount Whitney |linktext=Big Mountain}}',
'[[Commons:Category:Mount Whitney|Big Mountain]]')
-- forced search
self:preprocess_equals('{{#invoke:Commons link| getCategory | search=Mount Whitney}}',
'[[Commons:Special:Search/Category:Mount Whitney|Mount Whitney]]')
-- forced search + linktext
self:preprocess_equals('{{#invoke:Commons link| getCategory | search=Mount Whitney |linktext=Big Mountain}}',
'[[Commons:Special:Search/Category:Mount Whitney|Big Mountain]]')
-- P373 matches sitelink + lcfirst
self:preprocess_equals('{{#invoke:Commons link| getCategory | qid=Q2601154|lcfirst=1}}',
'[[Commons:Category:Agama lionotus|agama lionotus]]')
-- bold
self:preprocess_equals('{{#invoke:Commons link| getCategory | qid=Q2601154|bold=1}}',
'[[Commons:Category:Agama lionotus|<span style="font-weight:bold;">Agama lionotus</span>]]')
-- italic
self:preprocess_equals('{{#invoke:Commons link| getCategory | qid=Q2601154|italic=1}}',
'[[Commons:Category:Agama lionotus|<span style="font-style:italic;">Agama lionotus</span>]]')
-- nowrap
self:preprocess_equals('{{#invoke:Commons link| getCategory | qid=Q2601154|nowrap=1}}',
'[[Commons:Category:Agama lionotus|<span style="white-space:nowrap;">Agama lionotus</span>]]')
-- P373 matches sitelink + linktext
self:preprocess_equals('{{#invoke:Commons link| getCategory | qid=Q2601154|linktext=Small Lizard|lcfirst=1}}',
'[[Commons:Category:Agama lionotus|small Lizard]]')
-- P910 matches P373
self:preprocess_equals('{{#invoke:Commons link| getCategory | qid=Q853037}}',
'[[Commons:Category:Bánhida|Bánhida]]')
-- P910 matches P373 + linktext
self:preprocess_equals('{{#invoke:Commons link| getCategory | qid=Q853037|linktext=Old Neighborhood}}',
'[[Commons:Category:Bánhida|Old Neighborhood]]')
-- P1754 matches P373
self:preprocess_equals('{{#invoke:Commons link| getCategory | qid=Q2551907}}',
'[[Commons:Category:Lakes of Turkey|Lakes of Turkey]]')
-- P1754 matches P373 + linktext
self:preprocess_equals('{{#invoke:Commons link| getCategory | qid=Q2551907|linktext=Turkey Lakes}}',
'[[Commons:Category:Lakes of Turkey|Turkey Lakes]]')
-- inconsistency between P373 and P1754
self:preprocess_equals('{{#invoke:Commons link| getCategory | qid=Q1002229}}',
'[[Commons:Category:Municipality of Vipava|Municipality of Vipava]]')
-- test fallback
self:preprocess_equals('{{#invoke:Commons link| getCategory | qid=Q21032720 |fallback=Boing}}',
'[[Commons:Special:Search/Category:Boing|Boing]]')
-- inconsistency between P373 and P1754 + linktext
self:preprocess_equals('{{#invoke:Commons link| getCategory | qid=Q1002229|linktext=Little Town}}',
'[[Commons:Category:Municipality of Vipava|Little Town]]')
-- missing data
self:preprocess_equals('{{#invoke:Commons link| getCategory | qid=Q2963317}}',
'[[Commons:Special:Search/Category:Chicago Lawn, Chicago|Chicago Lawn, Chicago]]')
-- missing data + linktext
self:preprocess_equals('{{#invoke:Commons link| getCategory | qid=Q2963317|linktext=Big Neighborhood}}',
'[[Commons:Special:Search/Category:Chicago Lawn, Chicago|Big Neighborhood]]')
end
function p:testGalleryOrCategory()
-- known link
self:preprocess_equals('{{#invoke:Commons link| getGalleryOrCategory | Mount Whitney}}',
'[[Commons:Mount Whitney|Mount Whitney]]')
-- known link with linktext
self:preprocess_equals('{{#invoke:Commons link| getGalleryOrCategory | Mount Whitney |linktext=Big Mountain}}',
'[[Commons:Mount Whitney|Big Mountain]]')
-- forced search
self:preprocess_equals('{{#invoke:Commons link| getGalleryOrCategory | search=Mount Whitney}}',
'[[Commons:Special:Search/Mount Whitney|Mount Whitney]]')
-- forced search + linktext
self:preprocess_equals('{{#invoke:Commons link| getGalleryOrCategory | search=Mount Whitney |linktext=Big Mountain}}',
'[[Commons:Special:Search/Mount Whitney|Big Mountain]]')
-- P935 matches sitelink
self:preprocess_equals('{{#invoke:Commons link| getGalleryOrCategory | qid=Q2217963}}',
'[[Commons:Samuel Baker House|Samuel Baker House]]')
-- sitelink only
self:preprocess_equals('{{#invoke:Commons link| getGalleryOrCategory | qid=Q816044}}',
'[[Commons:Bellows Falls, Vermont|Bellows Falls, Vermont]]')
-- inconsistent data, fall back to search
self:preprocess_equals('{{#invoke:Commons link| getGalleryOrCategory | qid=Q21032720}}',
'[[Commons:Special:Search/Russian intervention in the Syrian civil war|Russian intervention in the Syrian civil war]]')
-- P373 matches sitelink
self:preprocess_equals('{{#invoke:Commons link| getGalleryOrCategory | qid=Q2601154}}',
'[[Commons:Category:Agama lionotus|Agama lionotus]]')
-- P910 matches P373
self:preprocess_equals('{{#invoke:Commons link| getGalleryOrCategory | qid=Q853037}}',
'[[Commons:Category:Bánhida|Bánhida]]')
-- P1754 matches P373
self:preprocess_equals('{{#invoke:Commons link| getGalleryOrCategory | qid=Q2551907}}',
'[[Commons:Category:Lakes of Turkey|Lakes of Turkey]]')
-- missing gallery, inconsistent category
self:preprocess_equals('{{#invoke:Commons link| getGalleryOrCategory | qid=Q1002229}}',
'[[Commons:Category:Municipality of Vipava|Municipality of Vipava]]')
-- test fallback
self:preprocess_equals('{{#invoke:Commons link| getGalleryOrCategory | fallback=Boing | qid=Q21032720}}',
'[[Commons:Special:Search/Boing|Boing]]')
-- missing data
self:preprocess_equals('{{#invoke:Commons link| getGalleryOrCategory | qid=Q2963317}}',
'[[Commons:Special:Search/Chicago Lawn, Chicago|Chicago Lawn, Chicago]]')
end
function p:testHasGallery()
-- P935 matches sitelink
self:preprocess_equals('{{#invoke:Commons link| hasGallery | qid=Q2217963}}','Samuel Baker House')
-- sitelink only
self:preprocess_equals('{{#invoke:Commons link| hasGallery | qid=Q816044}}','Bellows Falls, Vermont')
-- sitelink and P935 inconsistent
self:preprocess_equals('{{#invoke:Commons link| hasGallery | qid=Q139289}}','')
-- no sitelink or P935 or category
self:preprocess_equals('{{#invoke:Commons link| hasGallery | qid=Q29017978}}','')
-- P373 matches sitelink
self:preprocess_equals('{{#invoke:Commons link| hasGallery | qid=Q2601154}}','')
-- P910 matches P373
self:preprocess_equals('{{#invoke:Commons link| hasGallery | qid=Q853037}}','')
-- P1754 matches P373
self:preprocess_equals('{{#invoke:Commons link| hasGallery | qid=Q2551907}}','')
-- missing gallery, inconsistent category
self:preprocess_equals('{{#invoke:Commons link| hasGallery | qid=Q1002229}}','')
-- missing data
self:preprocess_equals('{{#invoke:Commons link| hasGallery | qid=Q2963317}}','')
end
function p:testHasCategory()
-- sitelink only
self:preprocess_equals('{{#invoke:Commons link| hasCategory | qid=Q816044}}','Category:Bellows Falls, Vermont')
-- sitelink and P935 inconsistent, fallback to Category instead
self:preprocess_equals('{{#invoke:Commons link| hasCategory | qid=Q139289}}','Category:Boeing 737 MAX')
-- P373 matches sitelink
self:preprocess_equals('{{#invoke:Commons link| hasCategory | qid=Q2601154}}','Category:Agama lionotus')
-- P910 matches P373
self:preprocess_equals('{{#invoke:Commons link| hasCategory | qid=Q853037}}','Category:Bánhida')
-- P1754 matches P373
self:preprocess_equals('{{#invoke:Commons link| hasCategory | qid=Q2551907}}','Category:Lakes of Turkey')
-- missing gallery, inconsistent category
self:preprocess_equals('{{#invoke:Commons link| hasCategory | qid=Q1002229}}','Category:Municipality of Vipava')
-- missing data
self:preprocess_equals('{{#invoke:Commons link| hasCategory | qid=Q2963317}}','')
end
function p:testHasGalleryOrCategory()
-- P935 matches sitelink
self:preprocess_equals('{{#invoke:Commons link| hasGalleryOrCategory | qid=Q2217963}}','Samuel Baker House')
-- sitelink only
self:preprocess_equals('{{#invoke:Commons link| hasGalleryOrCategory | qid=Q816044}}','Bellows Falls, Vermont')
-- sitelink and P935 inconsistent
self:preprocess_equals('{{#invoke:Commons link| hasGalleryOrCategory | qid=Q139289}}','Category:Boeing 737 MAX')
-- P373 matches sitelink
self:preprocess_equals('{{#invoke:Commons link| hasGalleryOrCategory | qid=Q2601154}}','Category:Agama lionotus')
-- P910 matches P373
self:preprocess_equals('{{#invoke:Commons link| hasGalleryOrCategory | qid=Q853037}}','Category:Bánhida')
-- P1754 matches P373
self:preprocess_equals('{{#invoke:Commons link| hasGalleryOrCategory | qid=Q2551907}}','Category:Lakes of Turkey')
-- missing gallery
self:preprocess_equals('{{#invoke:Commons link| hasGalleryOrCategory | qid=Q1002229}}','Category:Municipality of Vipava')
-- missing data
self:preprocess_equals('{{#invoke:Commons link| hasGalleryOrCategory | qid=Q2963317}}','')
-- another test
self:preprocess_equals('{{#invoke:Commons link| hasGalleryOrCategory | qid=Q185676}}','Category:Fado')
end
function p:testGalleryAndCategory()
-- known link
self:preprocess_equals('{{#invoke:Commons link| getGalleryAndCategory | Mount Whitney}}',
'[[Commons:Mount Whitney|Mount Whitney]]')
-- known link with linktext
self:preprocess_equals('{{#invoke:Commons link| getGalleryAndCategory | Mount Whitney |linktext=Big Mountain | italic=1}}',
'[[Commons:Mount Whitney|<span style="font-style:italic;">Big Mountain</span>]]')
-- known category
self:preprocess_equals('{{#invoke:Commons link| getGalleryAndCategory | | Mount Whitney | bold=1}}',
'[[Commons:Category:Mount Whitney|<span style="font-weight:bold;">Mount Whitney</span>]]')
-- known category with categorytext
self:preprocess_equals('{{#invoke:Commons link| getGalleryAndCategory | | Mount Whitney |linktext=Big Mountain|bold=1|italic=1}}',
'[[Commons:Category:Mount Whitney|<span style="font-style:italic; font-weight:bold;">Big Mountain</span>]]')
-- known link and category
self:preprocess_equals('{{#invoke:Commons link| getGalleryAndCategory | Mount Whitney | Mount Whitney}}',
'[[Commons:Mount Whitney|Mount Whitney]] ([[Commons:Category:Mount Whitney|category]])')
-- known link and category with linktext
self:preprocess_equals('{{#invoke:Commons link| getGalleryAndCategory | Mount Whitney | Mount Whitney | linktext=Big Mountain|bold=1|italic=1}}',
'[[Commons:Mount Whitney|<span style="font-style:italic; font-weight:bold;">Big Mountain</span>]] ([[Commons:Category:Mount Whitney|category]])')
-- both gallery and category exist
self:preprocess_equals('{{#invoke:Commons link| getGalleryAndCategory | qid=Q816044|bold=1|categoryText=cat}}',
'[[Commons:Bellows Falls, Vermont|<span style="font-weight:bold;">Bellows Falls, Vermont</span>]] ([[Commons:Category:Bellows Falls, Vermont|cat]])')
-- P373 matches sitelink, category only
self:preprocess_equals('{{#invoke:Commons link| getGalleryAndCategory | qid=Q2601154|bold=1}}',
'[[Commons:Category:Agama lionotus|<span style="font-weight:bold;">Agama lionotus</span>]]')
-- P910 matches P373, category only
self:preprocess_equals('{{#invoke:Commons link| getGalleryAndCategory | qid=Q853037|italic=1|bold=1}}',
'[[Commons:Category:Bánhida|<span style="font-style:italic; font-weight:bold;">Bánhida</span>]]')
-- P1754 matches P373, category only
self:preprocess_equals('{{#invoke:Commons link| getGalleryAndCategory | qid=Q2551907}}',
'[[Commons:Category:Lakes of Turkey|Lakes of Turkey]]')
-- missing data
self:preprocess_equals('{{#invoke:Commons link| getGalleryAndCategory | qid=Q2963317|bold=1|linktext=Chicago Lawn|oneSearch=1}}',
'[[Commons:Special:Search/Chicago Lawn, Chicago|<span style="font-weight:bold;">Chicago Lawn</span>]]')
end
function p:testTitleQID()
self:preprocess_equals('{{#invoke:Commons link| getTitleQID }}','Commons link/testcases,Module talk,nil')
self:preprocess_equals('{{#invoke:Commons link| getTitleQID | Q42 | 1}}','Douglas Adams,,Q42')
self:preprocess_equals('{{#invoke:Commons link| getTitleQID | Q15048757 | 1}}','Python (genus),Category,Q15048757')
-- no page corresponding to QID
self:preprocess_equals('{{#invoke:Commons link| getTitleQID | Q0}}',',Module talk,Q0')
-- QID doesn't link back to en
self:preprocess_equals('{{#invoke:Commons link| getTitleQID | Q68979196 | 1}}',',,Q68979196')
-- gibberish QID
self:preprocess_equals('{{#invoke:Commons link| getTitleQID | 1234}}','Commons link/testcases,Module talk,nil')
end
function p:testLookupFallback()
-- P910 doesn't exist
self:preprocess_equals('{{#invoke:Commons link| lookupFallback | Q2217963 | P910}}','nil')
-- normal P910
self:preprocess_equals('{{#invoke:Commons link| lookupFallback | Q853037 | P910}}','Bánhida')
-- normal P1754
self:preprocess_equals('{{#invoke:Commons link| lookupFallback | Q2551907 | P1754}}','Lakes of Turkey')
-- gibberish prop string
self:preprocess_equals('{{#invoke:Commons link| lookupFallback | Q2551907 | xyzzy}}','nil')
end
function p:testTracking()
local galPrefix = '[[Category:Commons link '
local catPrefix = '[[Category:Commons category link '
local onWikidata = 'is on Wikidata]]'
local definedAsPagename = 'is defined as the pagename]]'
local locallyDefined = 'is locally defined]]'
local fromWikidata = 'from Wikidata]]'
local isPagename = 'is the pagename]]'
local galInconsistent = '[[Category:Inconsistent wikidata for Commons gallery]]'
local catInconsistent = '[[Category:Inconsistent wikidata for Commons category]]'
-- default gallery is specified and is Commons gallery on wikidata
self:preprocess_equals('{{#invoke:Commons link| tracking | Samuel Baker House | fetchGallery = 1 | fetchCategory = 1 | qid=Q2217963}}',
galPrefix..onWikidata,{nowiki=1})
-- default gallery is specified and is Commons category on wikidata
self:preprocess_equals('{{#invoke:Commons link| tracking | Fado | fetchGallery=1 | fetchCategory=1 | qid=Q185676}}',
galPrefix..definedAsPagename,{nowiki=1})
-- default category is specified and is Commons category on wikidata
self:preprocess_equals('{{#invoke:Commons link| tracking | Category:Fado | fetchCategory=1 | qid=Q8442543}}',
catPrefix..onWikidata,{nowiki=1})
-- inconsistent wikidata returns nil, so doesn't match title. Called from Template:Commons
self:preprocess_equals('{{#invoke:Commons link| tracking | Municipality of Vipava | fetchGallery=1 | fetchCategory=1 | qid=Q1002229}}',
galPrefix..definedAsPagename,{nowiki=1})
-- Default string is not the same as either title or wikidata. Called from Template:Commons
self:preprocess_equals('{{#invoke:Commons link| tracking | Bellows Falls | fetchGallery = 1 | fetchCategory=1 | qid=Q816044}}',
galPrefix..locallyDefined,{nowiki=1})
-- Default string is not the same as either title or wikidata. Called from Template:Commonscat
self:preprocess_equals('{{#invoke:Commons link| tracking | Category:Bellows Falls | fetchCategory=1 | qid=Q816044}}',
catPrefix..locallyDefined,{nowiki=1})
-- No string. Commons gallery on Wikidata
self:preprocess_equals('{{#invoke:Commons link| tracking || fetchGallery=1 | fetchCategory=1 | qid=Q235539}}',
galPrefix..fromWikidata,{nowiki=1})
-- No string. Commons category on Wikidata
self:preprocess_equals('{{#invoke:Commons link| tracking || fetchCategory=1 | qid=Q121319}}',
catPrefix..fromWikidata,{nowiki=1})
-- No string. Nothing on Wikidata. Called from Template:Commons
self:preprocess_equals('{{#invoke:Commons link| tracking | fetchGallery=1| fetchCategory=1 | qid=Q2963317}}',
galPrefix..isPagename,{nowiki=1})
-- No string. Nothing on Wikidata. Called from Template:CommonsCat
self:preprocess_equals('{{#invoke:Commons link| tracking || fetchCategory=1 | qid=Q2963317}}',
catPrefix..isPagename,{nowiki=1})
-- Inconsistent wikidata for category
self:preprocess_equals('{{#invoke:Commons link| tracking |fetchCategory=1|qid=Q21032720}}',
catInconsistent,{nowiki=1})
end
return p
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.