Spring til indhold

Modul:Brug Wikidata/testcases

Fra Wikipedia, den frie encyklopædi
Dette er siden til testcases for modulet Modul:Brug Wikidata. Vis resultatet af testen.
-- 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 | 1 = P676 | q=Q41524380 ' .. 
    		'| kvalifikator1=P585 | kvalifikatorformat1 = $2 | kvalifikatorbrug1=med'}, -- k-brug=med
		{'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
		{'emne | P40 | q=Q2304055 '}, -- navn på engelsk
		{'emne | P40 | sprognote=nej | q=Q2304055 '}, -- navn ikke på dansk, ingen note
		{'emne | P40 | sprognote=nej | sprogkat=nej | q=Q2304055 '}, -- navn ikke på dansk, ingen note, ingen kategori
		{'emne | P40 | q=Q2304055 | sprogkat=nej '}, -- navn ikke på dansk, ingen kategori
		{'emne | P40 | q=Q2304055 | sprognotegroup=note '}, -- navn ikke på dansk, sprognotegroup
	})
end

-- Disse er for sig selv for ikke at gøre text-kolonnen for smal i tabellen for de øvrige emne-resultater
function p:test_emne_bred() 
	self:preprocess_equals_preprocess_many('{{' .. testskabelon, '}}', '{{' .. produktionsskabelon, '}}', {
    	{'emne | P166 | q=Q7085 | kvalifikator1=P2121 | kvalifikatorbrug1=med'}, -- k-brug=med
    	{'emne | P166 | q=Q7085 | kvalifikator1=P2121 | kvalifikatorbrug1=uden '}, -- k-brug=uden
    	{'emne | P166 | q=Q7085 | kvalifikator1=P2121 | kvalifikatorbrug1=alle'}, -- k-brug=alle
    	{'emne | P166 | q=Q7085 | kvalifikator1=P2121 | kvalifikatorbrug1= '}, -- k-brug=
    	{'emne | P166 | q=Q7085 | kvalifikator1=P2121 '}, -- ingen k-brug
	})
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 | P2067 | q=Q7887991 | kvalifikator1=P642 '},
		{'tal| P2067 | q=Q7887991 | kvalifikator1=P642 | kvalifikatorbrug1=MTOW | kvalifikatorformat1=$1 '}, -- k-brug=label
		{'tal| P2067 | q=Q7887991 | kvalifikator1=P642 | kvalifikatorbrug1=Q938476 | kvalifikatorformat1=$1 '}, --k-brug=QID
		{'tal| P1352 | q=Q57557| kvalifikator1=P641 | kvalifikatorbrug1=singletennis | kvalifikatorformat1=$1 | tid=ja '}, --label, tid
		 -- Referencer
		{'tal | P1082 | q=Q5168 | ref = ja | viskm = ja  | kunurl = ja'},
		{'tal | P1082 | q=Q5168 | ref = ja | viskm = nej | kunurl = ja | '},
		{'tal | P1082 | q=Q898 | ref = nej '},
		{'tal | P1082 | q=Q898 | ref = ja | kunurl = nej | viskm = nej '},
		{'tal | P1082 | q=Q2684 | ref = ja | kunurl = nej'},
		{'tal | P1082 | q=Q2684 | ref = ja '},
		-- 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