Modul:Brug Wikidata/testcases
Udseende
-- Enhedtests for [[Modul:Brug Wikidata]]. Gå til diskussionssiden for at testresultaterne.
local testskabelon = 'Bruger:Dipsacus fullonum/Wikidata-sandkasse/Skabelon:Wikidata-'
local produktionsskabelon = 'Wikidata-'
local p = require('Modul:UnitTests')
function p:test_emne()
self:preprocess_equals_preprocess_many('{{' .. testskabelon, '}}', '{{' .. produktionsskabelon, '}}', {
{'emne | P6 | q=Q649'},
{'emne | P6 | Brug denne tekst i stedet for Wikidata | q=Q649'}, -- 2 unavngivne parametre
{'emne | P6 | feltnavn=borgmester | q=Q649'}, -- feltnavn, ingen wikidata -> tom
{'emne | P6 | wikidata=ja | feltnavn=borgmester | q=Q649'}, -- feltnavn, wikidata = ja -> hent
{'emne | P6 | wikidata=land,borgmester,tidszone | feltnavn=borgmester | q=Q649'}, -- feltnavn i wd-liste -> hent
{'emne | P6 | wikidata=ja | ingen_wikidata=borgmester,land | feltnavn=borgmester | q=Q649'}, -- felt ikke i liste -> tom
{'emne | P6 | q=Q499479'},
{'emne | P6 | link=nej | q=Q499479'}, -- ingen link
{'emne | P85 | q=Q35'}, -- flere værdier
{'emne | P85 | adskil=<BR/> | q=Q35'}, -- en pr. linje
{'emne | P85 | liste=ja | q=Q35'}, -- punktliste
{'emne | P106 | ikon=ja | q=Q5673'}, -- ikon
{'emne | P106 | maks=3 | medstort=ja | q=Q5673'}, -- maks. 3 værdier, første værdi med stort
{'emne | P106 | liste=ja | medstort=alle | q=Q5673'}, -- liste, alle værdier med stort
{'emne | P144 | kursiv=ja | q=Q243439'}, -- kursiv
{'emne | P39 | kun=Q11696 | kvalifikator1=P582 | kvalifikator2=P1366 | ' ..
'kvalifikatorformat1=Præsident til $2 | kvalifikatorformat2=$1 afløst af $2 | q=Q9588'}, -- kvalifikatorer, kun en værdi
{'emne | P39 | kun=Q11699 | kvalifikator1=P582 | kvalifikator2=P1366 | ' ..
'kvalifikatorformat1=Vicepræsident til $2 | kvalifikatorformat2=$1 afløst af $2 | q=Q9588' }, -- do
{'emne | P421 | msk=ja | q=Q959'}, -- russisk tidszone med tilføjelse af moskvatid
{'emne | P19 | land=$1 i $2 | q=Q5673'}, -- tilføjelse af land
{'emne | P1411 | q=Q7085'},
{'emne | P1411 | tid=ja | q=Q7085'}, -- tilføjelse af tidspunkter ()
{'emne | P551 | q=Q7085'},
{'emne | P551 | tid=ja | q=Q7085'}, -- tilføjelse af tidsperioder
{'emne | P6 | tid=ja | parti=$1 ($2) | q=Q649'}, -- tilføjelse af tid og parti
{'emne | P6 | tid=ja | kunår=ja | parti=$1 ($2) | q=Q649'}, -- tilføjelse af år og parti
{'emne | P85 | kvalifikator1=P51 | kvalifikatorformat1=$1 [[File:$2]] | q=Q183'}, -- 1 kvalifikator
{'emne | P35 | kvalifikator1=P580 | kvalifikatorformat1=$1, tiltrådt $2 | kvalifikator2=P459 | ' ..
'kvalifikatorformat2=$1, valgt ved $2 | q=Q183'}, -- 2. kvalifikatorer
{'emne | P26 | q=Q905'}, -- novalue -> tom
{'emne | P26 | ingen=Var aldrig gift | q=Q905'}, --> tekst for novalue
{'emne | P21 | q=Q278475'}, -- somevalue -> tom
{'emne | P21 | ukendt=vides ikke | q=Q278475'}, --> tekst for somevalue
{'emne | P551 | maks=1 | q=Q7243'}, -- en af mange mere_end_maks
{'emne | P551 | maks=1 | q=Q7243 | mere_end_maks= og andre'}, -- mere_end_maks
{'emne | P551 | maks=1 | q=Q7243 | mere_end_maks='}, -- mere_end_maks tom
-- Mangler test for emne med: sprognote=, sprognotegroup=, sprogkat=
})
end
function p:test_tal()
self:preprocess_equals_preprocess_many('{{' .. testskabelon, '}}', '{{' .. produktionsskabelon, '}}', {
{'tal | P2046 | q=Q183'}, --
{'tal | P2046 | decimaler=5 | q=Q183'}, -- decimaler
{'tal | P2046 | decimaler=5 | visusikkerhed=nej | q=Q183'}, -- ingen usikkehed
{'tal | P2046 | enhed=m2 | q=Q183'}, -- enhed
{'tal | P2046 | enhed=m2 | visenhed=nej | q=Q183'}, -- visenhed
{'tal | P2139 | q=Q818846'}, -- valuta
{'tal | P2139 | decimaler=2 | q=Q818846'}, -- decimale
{'tal | P2139 | decimaler=2 | visusikkerhed=nej | q=Q818846'}, -- ingen usikkerhed
{'tal | P1082 | tid=ja | q=Q649'}, -- med tid
{'tal | P1082 | tid=ja | kunår=ja | q=Q649'}, -- med år
{'tal | P1082 | q=Q649 | arealogtæthed=$1 indbyggere på $2 km<sup>2</sup>, dvs. $3 pr. km<sup>2</sup> |' ..
' arealogtætheduden=$1 indbyggere' }, -- areal og tæthed
{'tal | P1082 | kvalifikator1=P585 | kvalifikatorformat1=$1 indbyggere pr. $2 | q=Q183'}, -- kvalifier tid
{'tal | P3086 | kvalifikator1=P794 | ingen=ingen | q=Q183'}, -- kvalifier som ikke vises, novalue
{'tal | P3086 | kvalifikator1=P794 | ingen=ingen | maks=2 | q=Q183'}, -- maks, kvalifier som ikke vises, novalue
{'tal | P1082 | q=Q5168 | ref = ja | viskm = ja | kunurl = ja'}, -- ref, viskm, kunurl
{'tal | P1082 | q=Q2684 | ref = ja | kunurl = nej'}, -- ref, kunurl
{'tal | P1082 | q=Q2684 | ref = ja '}, -- ref
-- Mangler testcases for tal med: adskil=, liste=, kvalifikatorbrug=
})
end
function p:test_tid()
self:preprocess_equals_preprocess_many('{{' .. testskabelon, '}}', '{{' .. produktionsskabelon, '}}', {
{'tid | P571 | q=Q181163 '}, -- dato
{'tid | P571 | Brug denne tekst i stedet for Wikidata | q=Q181163 '}, -- tekst fra unavngiven arg.
{'tid | P571 | feltnavn=åbningsdato | q=Q181163 '}, -- brug ikke
{'tid | P571 | wikidata=ja | feltnavn=åbningsdato | q=Q181163 '}, -- brug
{'tid | P571 | wikidata=logo,åbningsdato,sprog | feltnavn=åbningsdato | q=Q181163 '}, -- brug
{'tid | P571 | wikidata=ja | ingen_wikidata=åbningsdato,land | feltnavn=åbningsdato | q=Q181163 '}, -- brug ikke
{'tid | P585 | q=Q154510 '}, -- to årtier
{'tid | P585 | adskil=<BR/> | q=Q154510 '}, -- to årtier, adskil
{'tid | P585 | liste=ja | q=Q154510 '}, -- to årtier, liste
{'tid | P569 | q=Q7085 '}, -- dato
{'tid | P569 | kunår=ja | q=Q7085 '}, -- samme, kunår
{'tid | P570 | alder=P569 | q=Q160187 '}, -- dødsdag med alder
{'tid | P570 | q=Q1411 | alder=P569 '}, -- fødsels- og dødsdag med alder, alderformat
})
end
function p:test_streng()
self:preprocess_equals_preprocess_many('{{' .. testskabelon, '}}', '{{' .. produktionsskabelon, '}}', {
{'streng | P281 | q=Q649 '}, -- streng
{'streng | P281 | Brug denne tekst i stedet for Wikidata | q=Q649 '}, -- 2. unavngivne arg.
{'streng | P281 | feltnavn=postnummer | q=Q649 '}, -- brug ikke
{'streng | P281 | wikidata=ja | feltnavn=postnummer | q=Q649 '}, -- brug
{'streng | P281 | wikidata=tidszone,postnummer,land | feltnavn=postnummer | q=Q649 '}, -- brug
{'streng | P281 | wikidata=ja | ingen_wikidata=postnummer, tidszone | feltnavn=postnummer | q=Q649 '}, -- brug ikke
{'streng | P1059 | q=Q1616154 '}, -- (CVR)
{'streng | P1059 | format=[https://datacvr.virk.dk/data/visenhed?enhedstype=virksomhed&id=$1 $1] | q=Q1616154 '}, -- format
{'streng | P18 | kvalifikator1=P2096 | kvalifikatorformat1=[[Fil:$1|thumb|$2]] | kvalifikatorformatuden1=[[Fil:$1|thumb]] ' ..
'| q=Q7085 '}, -- billede med billedtekst
})
end
function p:test_tekst()
self:preprocess_equals_preprocess_many('{{' .. testskabelon, '}}', '{{' .. produktionsskabelon, '}}', {
{'tekst | P1684 | sprog=alle | q=Q82194 '},
{'tekst | P1684 | Brug denne tekst i stedet for Wikidata | sprog=alle | q=Q82194 '}, -- 2. unavngivne
{'tekst | P1684 | feltnavn=tekst | sprog=alle | q=Q82194 '}, -- brug ikke
{'tekst | P1684 | wikidata=ja | feltnavn=tekst | sprog=alle | q=Q82194 '}, -- brug
{'tekst | P1684 | wikidata=farve,tekst,designer | feltnavn=tekst | sprog=alle | q=Q82194 '}, -- brug
{'tekst | P1684 | wikidata=ja | ingen_wikidata=afbilder, tekst | feltnavn=tekst | sprog=alle | q=Q82194 '}, -- brug ikke
{'tekst | P1448 | q=Q239 '}, -- tom (ikke på dansk)
{'tekst | P1448 | sprog=nl | q=Q239 '}, -- et sprog
{'tekst | P1448 | sprog=alle | skrivsprog=ja | q=Q239 '}, -- alle sprog, skrivsprog
{'tekst | P1549 | q=Q35 '},
{'tekst | P1549 | adskil=<br /> | q=Q35 '}, -- adskil, kun en værdi
{'tekst | P1549 | liste=ja | q=Q35 '}, -- liste, kun en værdi
{'tekst | P1549 | sprog=de | kvalifikator1=P518 | kvalifikatorformat1=$1 (gælder for $2) | q=Q183 '}, -- kval.
})
end
return p