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 | P26 | q=Q905'}, -- novalue -> tom
		 {'emne | P26 | ingen=Var aldrig gift | q=Q905'}, --> tekst for novalue
		 {'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: ukendt=, 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