-- Enhetstester för ].
local p = require('Module:UnitTests')
local name_quo = '"Mall:tagg"'
local long_hint = 'Använd enbart språkkoder enligt ].'
local apo_matte = " ''(matematik)'' "
function p:test_01_basic()
self:preprocess_equals('{{tagg| allmänt|pagenameoverridetestonly=""}}', " ''(allmänt)'' ", {nowiki=1})
self:preprocess_equals('{{tagg| matematik|pagenameoverridetestonly=""}}', "] ''(matematik)'' ", {nowiki=1})
self:preprocess_equals('{{tagg| transitivt |pagenameoverridetestonly=""}}', "] ''(]t)'' ", {nowiki=1})
self:preprocess_equals('{{tagg| verbfraser|pagenameoverridetestonly=""| språk=is}}', "]", {nowiki=1})
self:preprocess_equals('{{tagg| text=om personer}}', " ''(om personer)'' ", {nowiki=1})
self:preprocess_equals('{{tagg| text=om personer| språk=ro}}', " ''(om personer)'' ", {nowiki=1})
self:preprocess_equals('{{tagg| kat=däggdjur|pagenameoverridetestonly=""}}', "]", {nowiki=1})
self:preprocess_equals('{{tagg| kat=länder| språk=fr|pagenameoverridetestonly=""}}', "]", {nowiki=1})
self:preprocess_equals('{{tagg| kat2=länder| språk=fr|pagenameoverridetestonly=""}}', "]", {nowiki=1})
self:preprocess_equals('{{tagg| kat=länder| språk=de|pagenameoverridetestonly=""}}', "]", {nowiki=1})
end
function p:test_02_reflexivt_svenska()
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=kasta}}', "] ''(reflexivt: '''kasta sig''')'' ", {nowiki=1})
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=hålla sig på mattan}}', "] ''(reflexivt)'' ", {nowiki=1})
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=sig fiska}}', "] ''(reflexivt)'' ", {nowiki=1})
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=slå sig}}', "] ''(reflexivt)'' ", {nowiki=1})
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=försiggå}}', "] ''(reflexivt: '''försiggå sig''')'' ", {nowiki=1})
self:preprocess_equals('{{tagg| reflexivt|verbfraser|pagenameoverridetestonly=ta signum}}', "]] ''(reflexivt: '''ta signum sig''')'' ", {nowiki=1})
end
function p:test_03_reflexivt_andra()
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=setzen|språk=de}}', "] ''(reflexivt: '''sich setzen''')'' ", {nowiki=1})
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=sich setzen|språk=de}}', "] ''(reflexivt)'' ", {nowiki=1})
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=dry|språk=en}}', "] ''(reflexivt: '''dry oneself''')'' ", {nowiki=1})
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=dry oneself|språk=en}}', "] ''(reflexivt)'' ", {nowiki=1})
-- Olika stavning av reflexivt pronomen på franska beroende på första bokstaven i grundverbet
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=habiller|språk=fr}}', "] ''(reflexivt)'' ", {nowiki=1})
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=s\'habiller|språk=fr}}', "] ''(reflexivt)'' ", {nowiki=1})
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=lever|språk=fr}}', "] ''(reflexivt: '''se lever''')'' ", {nowiki=1})
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=se lever|språk=fr}}', "] ''(reflexivt)'' ", {nowiki=1})
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=appuyer|språk=fr}}', "] ''(reflexivt: '''s’appuyer''')'' ", {nowiki=1})
self:preprocess_equals('{{tagg| reflexivt|pagenameoverridetestonly=s\'appuyer|språk=fr}}', "] ''(reflexivt)'' ", {nowiki=1})
-- Inget läggs till för färöiska: ## BUGG sedan år 2017 : extra vägg efter kategori "verb|]]" ##
self:preprocess_equals('{{tagg| reflexivt|språk=fo|pagenameoverridetestonly=""}}', "] ''(reflexivt)'' ", {nowiki=1})
end
function p:test_04_stil()
self:preprocess_equals('{{tagg|slang|pagenameoverridetestonly=""}}', "] ''(])'' ", {nowiki=1})
end
function p:test_05_multiple()
self:preprocess_equals('{{tagg|matematik|transitivt|pagenameoverridetestonly=""}}', "]] ''(matematik, ]t)'' ", {nowiki=1})
self:preprocess_equals('{{tagg|text= om personer|biologi|pagenameoverridetestonly=""}}', "] ''(biologi, om personer)'' ", {nowiki=1})
self:preprocess_equals('{{tagg| transitivt| opersonligt| kemi|språk= de|pagenameoverridetestonly=""}}', "]]] ''(]t, ], kemi)'' ", {nowiki=1})
end
function p:test_06_emptywhitespaceholes()
self:preprocess_equals('{{tagg|kat=djur|matematik| verbfraser| transitivt|kat3=fiskar|pagenameoverridetestonly=""}}', "]]]]] ''(matematik, ]t)'' ", {nowiki=1})
self:preprocess_equals('{{tagg|kat=djur|matematik| verbfraser| 7=reflexivt|kat7=fiskar|språk=id|pagenameoverridetestonly=""}}', "]]]]] ''(matematik, reflexivt)'' ", {nowiki=1})
self:preprocess_equals('{{tagg|kat=djur|matematik| verbfraser| 8=reflexivt|kat7=fiskar|språk=id|pagenameoverridetestonly=""}}', "]]" .. apo_matte , {nowiki=1})
self:preprocess_equals('{{tagg|kat=djur|matematik| verbfraser| 7=reflexivt|kat8=fiskar|språk=id|pagenameoverridetestonly=""}}', "]] ''(matematik, reflexivt)'' ", {nowiki=1})
self:preprocess_equals('{{tagg|kat4= |kat=djur|| | 7=reflexivt|kat7=kärnfysik|språk=id|pagenameoverridetestonly=""}}', "]]] ''(reflexivt)'' ", {nowiki=1})
end
function p:test_07_bad_use()
self:preprocess_equals('{{tagg|matematik|språk=indonesiska|pagenameoverridetestonly=""}}' , "]]" .. apo_matte , {nowiki=1})
self:preprocess_equals('{{tagg|matematik |språk=aad|pagenameoverridetestonly=""}}' , "]]" .. apo_matte , {nowiki=1})
self:preprocess_equals('{{tagg|matematik|språk=novial|nocat=true|pagenameoverridetestonly=""}}' , apo_matte ..'<br><span class="error"><b>Uppenbarligen ogiltig språkkod -- Kod "novial" skickades in i ' .. name_quo .. '.</b></span></br>' .. long_hint, {nowiki=1})
self:preprocess_equals('{{tagg|matematik|språk=novial|nocat=false|pagenameoverridetestonly=""}}' , ']]' .. apo_matte ..'<br><span class="error"><b>Uppenbarligen ogiltig språkkod -- Kod "novial" skickades in i ' .. name_quo .. '.</b></span></br>' .. long_hint, {nowiki=1})
end
return p