local t = require("Modul:UnitTests")
function t:test1_basic_new()
self:preprocess_equals("{{härledning|sv|de|-|pagenameoverridetestonly=strejk}}", "tyska]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|grc|ἱππόδρομος|kapplöpningsbana, rännarbana|tr=hippodromos|pagenameoverridetestonly=hippodrom}}", "grekiska <i>]</i> (<i>hippodromos</i>, ”kapplöpningsbana, rännarbana”)]", {nowiki=1})
self:preprocess_equals("{{härledning|es|fr|élite|pagenameoverridetestonly=élite}}", "franska <i>]</i>]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|de|abc|pagenameoverridetestonly=abc}}", "tyska <i>]</i>]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|zu|vuvuzela|genitivform=zulus|pagenameoverridetestonly=vuvuzela}}", "zulus <i>]</i>]]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|de|abc|pagenameoverridetestonly=abc}}", "tyska <i>]</i>]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|de|abc|kursiv=-|pagenameoverridetestonly=abc}}", "tyska ]]]", {nowiki=1}) -- men kanske kan upptäckas automatiskt?
self:preprocess_equals("{{härledning|sv|de|abc|pagenameoverridetestonly=abc}}", "tyska <i>]</i>]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|de|abc|kat=-}}", "tyska <i>]</i>", {nowiki=1}) -- nocat=true
self:preprocess_equals("{{härledning|sv|de|abc|pagenameoverridetestonly=abc}}", "tyska <i>]</i>]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|arc|צפא|tr=ṣipā’|matta|pagenameoverridetestonly=åäö}}", "arameiska <i>]</i> (<i>ṣipā’</i>, ”matta”)]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|arc|צפא|matta|pagenameoverridetestonly=åäö}}", "arameiska <i>]</i> (”matta”)]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|arc|צפא|tr=ṣipā’|pagenameoverridetestonly=åäö}}", "arameiska <i>]</i> (<i>ṣipā’</i>)]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|arc|צפא|pagenameoverridetestonly=åäö}}", "arameiska <i>]</i>]", {nowiki=1})
end
function t:test2_language_name()
--Parametern språknamn= har true som defaultvärde, så användningen av parametern utan värde förändrar ingenting.
self:preprocess_equals("{{härledning|en|ang|språknamn=|bæð|pagenameoverridetestonly=abc}}", "fornengelska <i>]</i>]", {nowiki=1})
--Byt inte ut språknamn= mot vilken text som helst, utan undertryck språknamnet med språknamn=- och placera texten framför mallen
self:preprocess_equals("Av fornengelska pluralformen {{härledning|en|ang|språknamn=-|bæð|pagenameoverridetestonly=abc}}", "Av fornengelska pluralformen <i>]</i>]", {nowiki=1})
end
function t:test4_errors_new()
self:preprocess_equals("{{härledning}}", "]", {nowiki=1})
self:preprocess_equals("{{härledning|sv}}", "]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|pal}}", "]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|pal|tr=kōšk}}", "]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|id||ingenting}}", "]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|id|besar|}}", "]", {nowiki=1})
self:preprocess_equals("{{härledning|3=id}}", "]", {nowiki=1})
self:preprocess_equals("{{härledning|4=eo}}", "]", {nowiki=1})
self:preprocess_equals("{{härledning|Sv|en|test}}", "]]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|En|test}}", "]]", {nowiki=1})
self:preprocess_equals("{{härledning|fff|en|test}}", "]]", {nowiki=1})
self:preprocess_equals("{{härledning|en|fff|test}}", "]]", {nowiki=1})
self:preprocess_equals("{{härledning|h-smi|en|test}}", "]]", {nowiki=1}) -- koden "h-smi" är reserverad för härledningar
self:preprocess_equals("{{härledning|sv|de|abc|inled=av}}", "]]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|de|abc|språk=grc}}", "]]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|de|abc|punkt=-}}", "]]", {nowiki=1})
self:preprocess_equals("{{härledning|sv|id|besar|stor|big}}", "]]", {nowiki=1})
--om språkkoden saknas kan det vara praktiskt att kunna använda xx med ett språknamn man själv angett, tills språkkoden har kunnat läggas till i Modul:lang/data.
self:preprocess_equals("{{härledning|en|xx|språknamn=annat språknamn|bæð}}", "annat språknamn <i>]</i>]]", {nowiki=1})
end
function t:test5_reserved_codes()
self:preprocess_equals("{{härledning|sv|h-smi|bulke|pagenameoverridetestonly=pulka}}", "samiska <i>]</i>]", {nowiki=1}) -- sida "pulka"
end
function t:test6_same_meaning()
self:preprocess_equals("{{härledning|sv|en|pub|samma betydelse|pagenameoverridetestonly=pub}}", "engelska <i>]</i> (”samma betydelse”)]]", {nowiki=1}) -- sida "pub"
self:preprocess_equals("{{härledning|sv|en|pub|i ljuset av samma betydelse|pagenameoverridetestonly=pub}}", "engelska <i>]</i> (”i ljuset av samma betydelse”)]]", {nowiki=1}) -- sida "pub"
self:preprocess_equals("{{härledning|sv|en|pub|-|pagenameoverridetestonly=pub}}", "engelska <i>]</i> (med samma betydelse)]", {nowiki=1}) -- sida "pub"
end
function t:test7_reconstruction()
self:preprocess_equals("{{härledning|non|gem-ugm|*ukhnaz|pagenameoverridetestonly=abc}}", "urgermanska <i>]</i>]", {nowiki=1})
self:preprocess_equals("{{härledning|da|ine-uie|*dhrebh-, *dhreb-|spräcka, krossa, döda|pagenameoverridetestonly=abc}}", "urindoeuropeiska <i>], ]</i> (”spräcka, krossa, döda”)]", {nowiki=1})
--vi bör också testa hur resultatet ska bli om manuella länkar används (felkategori eller positiv tolkning?)
self:preprocess_equals("{{härledning|non|gem-ugm|]|pagenameoverridetestonly=abc}}", "urgermanska <i>]</i>]", {nowiki=1})
self:preprocess_equals("{{härledning|non|gem-ugm|]|pagenameoverridetestonly=abc}}", "urgermanska <i>]</i>]", {nowiki=1})
self:preprocess_equals("{{härledning|da|ine-uie|], ]|spräcka, krossa, döda|pagenameoverridetestonly=abc}}", "urindoeuropeiska <i>], ]</i> (”spräcka, krossa, döda”)]", {nowiki=1})
self:preprocess_equals("{{härledning|non|gem-ugm|]|pagenameoverridetestonly=abc}}", "urgermanska <i>]</i>]", {nowiki=1})
self:preprocess_equals("{{härledning|da|ine-uie|], ]|spräcka, krossa, döda|pagenameoverridetestonly=abc}}", "urindoeuropeiska <i>], ]</i> (”spräcka, krossa, döda”)]", {nowiki=1})
end
function t:test8_no_original_script()
self:preprocess_equals("{{härledning|sv|pal|-|pagenameoverridetestonly=abc}}", "medelpersiska]", {nowiki=1}) -- vet språk men ej ordet
self:preprocess_equals("{{härledning|sv|pal|-|tr=kōšk|pagenameoverridetestonly=abc}}", "medelpersiska (<i>kōšk</i>)]", {nowiki=1}) -- transkription finns men skriven form ej
end
function t:test9_automatic_tr() -- Låt oss diskutera dessa (och liknande) innan vi ändrar någon källkod
self:preprocess_equals("{{härledning|sv|ru|-|pagenameoverridetestonly=abc}}", "ryska]", {nowiki=1}) -- vet språk men ej ordet
self:preprocess_equals("{{härledning|sv|ru|колхоз|pagenameoverridetestonly=abc}}", "ryska <i>]</i> (<i>kolchoz</i>)]", {nowiki=1}) -- vet språk och ordet men utan tr-parametern för språk som stöds
self:preprocess_equals("{{härledning|sv|ru|колхо́з|pagenameoverridetestonly=abc}}", "ryska <i>]</i> (<i>kolchóz</i>)]", {nowiki=1}) -- hanterar accentuerad indata via länk rätt
self:preprocess_equals("{{härledning|sv|ru|Ба́ба-Яга|pagenameoverridetestonly=abć}}", "ryska <i>]</i> (<i>Bába-Jagá</i>)]", {nowiki=1}) -- streck i ordtiteln
self:preprocess_equals("{{härledning|sv|ru| со́тня|pagenameoverridetestonly=abc}}", "ryska <i> со́тня</i> (<i> sótnja</i>)]", {nowiki=1}) -- enskilda hakparenteser runt orden
self:preprocess_equals("{{härledning|sv|ru|резвыча́йная оми́ссия|pagenameoverridetestonly=abc}}", "ryska <i>резвыча́йная оми́ссия</i> (<i>rezvytjájnaja omíssija</i>)]", {nowiki=1}) -- enskilda hakparenteser mitt i orden
self:preprocess_equals("{{härledning|sv|ru|'''Ч'''резвыча́йная '''К'''оми́ссия|pagenameoverridetestonly=abc}}", "ryska <i>'''Ч'''резвыча́йная '''К'''оми́ссия</i> (<i>'''Tj'''rezvytjájnaja '''K'''omíssija</i>)]", {nowiki=1}) -- apostrofer mitt i orden
self:preprocess_equals("{{härledning|sv|ru|ёлки палки|pagenameoverridetestonly=abc}}", "ryska <i>]</i> (<i>jólki palki</i>)]", {nowiki=1}) -- mellanrum i ordtiteln
self:preprocess_equals("{{härledning|sv|ru|Горбачёв|pagenameoverridetestonly=abc}}", "ryska <i>]</i> (<i>Gorbatjóv</i>)]", {nowiki=1}) -- automatisk accentuering av vissa ryska ord
self:preprocess_equals("{{härledning|sv|ru|Горбачёв|tr=Gorbatjov|pagenameoverridetestonly=abc}}", "ryska <i>]</i> (<i>Gorbatjov</i>)]", {nowiki=1}) -- möjlighet att köra över med "tr="
self:preprocess_equals("{{härledning|sv|ru|]|pagenameoverridetestonly=abc}}", "ryska <i>]</i> (<i>Ne govori «gop», poka ne pereprygnesj.</i>)]", {nowiki=1}) -- ordspråk med kommatecken och punkt
self:preprocess_equals("{{härledning|sv|en|bike|pagenameoverridetestonly=abc}}", "engelska <i>]</i>]", {nowiki=1}) -- ingen effekt för språk som ej stöds av tr
end
return t