All tests passed. (refresh)

Text Expected Actual
test1_basic:
Passed {{#invoke:entry|getWikitext|

{ "origin_pagename" : "rolig", "entries" : [ { "type" : "infl", "title" : "roligare", "lang" : "sv", "h3" : "adj" } ] } }}

==Svenska==

===Adjektiv=== '''roligare''' #{{böjning|sv|adj|rolig}}

==Svenska==

===Adjektiv=== '''roligare''' #{{böjning|sv|adj|rolig}}

Text Expected Actual
test2_translitteration:
Passed {{#invoke:entry|getWikitext|

{ "origin_pagename" : "abchazisk", "entries" : [ { "type" : "translation", "title" : "абхазский", "tr" : "abcházskij", "lang" : "ru", "h3" : "adj" } ] } }}

==Ryska==

===Adjektiv=== {{adj|ru}} '''абхазский''' (abcházskij) #[[abchazisk]]

==Ryska==

===Adjektiv=== {{adj|ru}} '''абхазский''' (abcházskij) #[[abchazisk]]

Passed {{#invoke:entry|getWikitext|

{ "origin_pagename" : "озеро", "entries" : [ { "type" : "infl", "title" : "о́зера", "lang" : "uk", "h3" : "subst" }, { "type" : "infl", "title" : "озе́ра", "lang" : "uk", "h3" : "subst" } ] } }}

==Ukrainska==

===Substantiv=== '''о́зера''', '''озе́ра''' #{{böjning|uk|subst|озеро}}

==Ukrainska==

===Substantiv=== '''о́зера''', '''озе́ра''' #{{böjning|uk|subst|озеро}}

Text Expected Actual
test3_order:
Passed {{#invoke:entry|getWikitext|

{ "origin_pagename" : "extremist", "entries" : [ { "type" : "infl", "title" : "extremists", "lang" : "en", "h3" : "subst" }, { "type" : "infl", "title" : "extremists", "lang" : "sv", "h3" : "subst" } ] } }}

==Svenska==

===Substantiv=== '''extremists''' #{{böjning|sv|subst|extremist}} ==Engelska== ===Substantiv=== '''extremists''' #{{böjning|en|subst|extremist}}

==Svenska==

===Substantiv=== '''extremists''' #{{böjning|sv|subst|extremist}} ==Engelska== ===Substantiv=== '''extremists''' #{{böjning|en|subst|extremist}}

Passed {{#invoke:entry|getWikitext|

{ "origin_pagename" : "extremist", "entries" : [ { "type" : "infl", "title" : "extremists", "lang" : "sv", "h3" : "subst" }, { "type" : "infl", "title" : "extremists", "lang" : "en", "h3" : "subst" } ] } }}

==Svenska==

===Substantiv=== '''extremists''' #{{böjning|sv|subst|extremist}} ==Engelska== ===Substantiv=== '''extremists''' #{{böjning|en|subst|extremist}}

==Svenska==

===Substantiv=== '''extremists''' #{{böjning|sv|subst|extremist}} ==Engelska== ===Substantiv=== '''extremists''' #{{böjning|en|subst|extremist}}

Text Expected Actual
test4_title_with_diacritics:
Passed {{#invoke:entry|getWikitext|

{ "origin_pagename" : "rulla", "entries" : [ { "type" : "translation", "title" : "volvō", "lang" : "la", "h3" : "verb" }, { "type" : "translation", "title" : "volvo", "lang" : "it", "h3" : "verb" } ] } }}

==Italienska==

===Verb=== {{verb|it}} '''volvo''' #[[rulla]] ==Latin== ===Verb=== {{verb|la}} '''volvō''' #[[rulla]]

==Italienska==

===Verb=== {{verb|it}} '''volvo''' #[[rulla]] ==Latin== ===Verb=== {{verb|la}} '''volvō''' #[[rulla]]

Passed {{#invoke:entry|getWikitext|

{ "origin_pagename" : "volvo", "entries" : [ { "type" : "infl", "title" : "volvēbam", "lang" : "la", "h3" : "verb" } ] } }}

==Latin==

===Verb=== '''volvēbam''' #{{böjning|la|verb|volvo}}

==Latin==

===Verb=== '''volvēbam''' #{{böjning|la|verb|volvo}}

Text Expected Actual
test5_aspect:
Passed {{#invoke:entry|getWikitext|

{ "origin_pagename" : "a", "entries" : [ { "type" : "translation", "title" : "b", "lang" : "pl", "h3" : "verb", "aspect": "pf" }, { "type" : "translation", "title" : "b", "lang" : "ru", "h3" : "verb", "aspect": "impf" } ] } }}

==Polska==

===Verb=== {{verb|pl}} '''b''' {{pf}} #[[a]] ==Ryska== ===Verb=== {{verb|ru}} '''b''' {{impf}} #[[a]]

==Polska==

===Verb=== {{verb|pl}} '''b''' {{pf}} #[[a]] ==Ryska== ===Verb=== {{verb|ru}} '''b''' {{impf}} #[[a]]

Text Expected Actual
test6_complex:
Passed {{#invoke:entry|getWikitext|

{ "origin_pagename": "huvud", "entries": [ {"type":"translation", "lang": "no", "h3": "adj", "title": "form-med-diakriter", "gender": "f"}, {"type":"translation", "lang": "da", "h3": "adj", "title": "form-med-diakriter"}, {"type":"translation", "lang": "no", "h3": "adj", "title": "form-med-diakriter", "gender": "m", "number": "p"}, {"type":"infl", "lang": "sv", "h3": "adv", "title": "form"}, {"type":"infl", "lang": "sv", "h3": "adj", "title": "form"}, {"type":"infl", "lang": "sv", "h3": "adj", "title": "form"}, {"type":"adv", "lang": "sv", "h3": "adv", "title": "form", "origin_h3": "adj"}, {"type":"infl", "lang": "sv", "h3": "subst", "title": "form"}, {"type":"infl", "lang": "no", "h3": "adj", "title": "form"}, {"type":"infl", "lang": "en", "h3": "adj", "title": "form"} ] } }}

==Svenska==

===Adjektiv=== '''form''' #{{böjning|sv|adj|huvud}} ===Adverb=== {{adv|sv}} '''form''' #{{avledning|sv|huvud|adj}} #{{böjning|sv|adv|huvud}} ===Substantiv=== '''form''' #{{böjning|sv|subst|huvud}} ==Bokmål== ===Adjektiv=== {{adj|no}} '''form-med-diakriter''', '''form''' {{m}} {{f}} {{p}} #[[huvud]] #{{böjning|no|adj|huvud}} ==Danska== ===Adjektiv=== {{adj|da}} '''form-med-diakriter''' #[[huvud]] ==Engelska== ===Adjektiv=== '''form''' #{{böjning|en|adj|huvud}}

==Svenska==

===Adjektiv=== '''form''' #{{böjning|sv|adj|huvud}} ===Adverb=== {{adv|sv}} '''form''' #{{avledning|sv|huvud|adj}} #{{böjning|sv|adv|huvud}} ===Substantiv=== '''form''' #{{böjning|sv|subst|huvud}} ==Bokmål== ===Adjektiv=== {{adj|no}} '''form-med-diakriter''', '''form''' {{m}} {{f}} {{p}} #[[huvud]] #{{böjning|no|adj|huvud}} ==Danska== ===Adjektiv=== {{adj|da}} '''form-med-diakriter''' #[[huvud]] ==Engelska== ===Adjektiv=== '''form''' #{{böjning|en|adj|huvud}}

local t = require("Module:UnitTests")
local mut = require("Module:entry")

function t:test1_basic()
	self:preprocess_equals([=[{{#invoke:entry|getWikitext|
		{
			"origin_pagename" : "rolig",
			"entries" : [
				{
					"type" : "infl",
					"title" : "roligare",
					"lang" : "sv",
					"h3" : "adj"
				}
			]
		}
	}}]=], "==Svenska==\n===Adjektiv===\n'''roligare'''\n#{{böjning|sv|adj|rolig}}", {nowiki=1})
end

function t:test2_translitteration()
	self:preprocess_equals([=[{{#invoke:entry|getWikitext|
		{
			"origin_pagename" : "abchazisk",
			"entries" : [
				{
					"type" : "translation",
					"title" : "абхазский",
					"tr" : "abcházskij",
					"lang" : "ru",
					"h3" : "adj"
				}
			]
		}
	}}]=], "==Ryska==\n===Adjektiv===\n{{adj|ru}}\n'''абхазский''' (abcházskij)\n#[[abchazisk]]", {nowiki=1})
	self:preprocess_equals([=[{{#invoke:entry|getWikitext|
		{
			"origin_pagename" : "озеро",
			"entries" : [
				{
					"type" : "infl",
					"title" : "о́зера",
					"lang" : "uk",
					"h3" : "subst"
				},
				{
					"type" : "infl",
					"title" : "озе́ра",
					"lang" : "uk",
					"h3" : "subst"
				}
			]
		}
	}}]=], "==Ukrainska==\n===Substantiv===\n'''о́зера''', '''озе́ра'''\n#{{böjning|uk|subst|озеро}}", {nowiki=1})
end

function t:test3_order()
	self:preprocess_equals([=[{{#invoke:entry|getWikitext|
		{
			"origin_pagename" : "extremist",
			"entries" : [
				{
					"type" : "infl",
					"title" : "extremists",
					"lang" : "en",
					"h3" : "subst"
				},
				{
					"type" : "infl",
					"title" : "extremists",
					"lang" : "sv",
					"h3" : "subst"
				}
			]
		}
	}}]=], "==Svenska==\n===Substantiv===\n'''extremists'''\n#{{böjning|sv|subst|extremist}}\n\n==Engelska==\n===Substantiv===\n'''extremists'''\n#{{böjning|en|subst|extremist}}", {nowiki=1})
	self:preprocess_equals([=[{{#invoke:entry|getWikitext|
		{
			"origin_pagename" : "extremist",
			"entries" : [
				{
					"type" : "infl",
					"title" : "extremists",
					"lang" : "sv",
					"h3" : "subst"
				},
				{
					"type" : "infl",
					"title" : "extremists",
					"lang" : "en",
					"h3" : "subst"
				}
			]
		}
	}}]=], "==Svenska==\n===Substantiv===\n'''extremists'''\n#{{böjning|sv|subst|extremist}}\n\n==Engelska==\n===Substantiv===\n'''extremists'''\n#{{böjning|en|subst|extremist}}", {nowiki=1})
end

function t:test4_title_with_diacritics()
	self:preprocess_equals([=[{{#invoke:entry|getWikitext|
		{
			"origin_pagename" : "rulla",
			"entries" : [
				{
					"type" : "translation",
					"title" : "volvō",
					"lang" : "la",
					"h3" : "verb"
				},
				{
					"type" : "translation",
					"title" : "volvo",
					"lang" : "it",
					"h3" : "verb"
				}
			]
		}
	}}]=], "==Italienska==\n===Verb===\n{{verb|it}}\n'''volvo'''\n#[[rulla]]\n\n==Latin==\n===Verb===\n{{verb|la}}\n'''volvō'''\n#[[rulla]]", {nowiki=1})
	self:preprocess_equals([=[{{#invoke:entry|getWikitext|
		{
			"origin_pagename" : "volvo",
			"entries" : [
				{
					"type" : "infl",
					"title" : "volvēbam",
					"lang" : "la",
					"h3" : "verb"
				}
			]
		}
	}}]=], "==Latin==\n===Verb===\n'''volvēbam'''\n#{{böjning|la|verb|volvo}}", {nowiki=1})
end

function t:test5_aspect()
	self:preprocess_equals([=[{{#invoke:entry|getWikitext|
		{
			"origin_pagename" : "a",
			"entries" : [
				{
					"type" : "translation",
					"title" : "b",
					"lang" : "pl",
					"h3" : "verb",
					"aspect": "pf"
				},
				{
					"type" : "translation",
					"title" : "b",
					"lang" : "ru",
					"h3" : "verb",
					"aspect": "impf"
				}
			]
		}
	}}]=], "==Polska==\n===Verb===\n{{verb|pl}}\n'''b''' {{pf}}\n#[[a]]\n\n==Ryska==\n===Verb===\n{{verb|ru}}\n'''b''' {{impf}}\n#[[a]]", {nowiki=1})
end

function t:test6_complex()
	self:preprocess_equals([=[{{#invoke:entry|getWikitext|
		{
			"origin_pagename": "huvud",
			"entries": [
				{"type":"translation", "lang": "no", "h3": "adj", "title": "form-med-diakriter", "gender": "f"},
				{"type":"translation", "lang": "da", "h3": "adj", "title": "form-med-diakriter"},
				{"type":"translation", "lang": "no", "h3": "adj", "title": "form-med-diakriter", "gender": "m", "number": "p"},
				{"type":"infl", "lang": "sv", "h3": "adv", "title": "form"},
				{"type":"infl", "lang": "sv", "h3": "adj", "title": "form"},
				{"type":"infl", "lang": "sv", "h3": "adj", "title": "form"},
				{"type":"adv", "lang": "sv", "h3": "adv", "title": "form", "origin_h3": "adj"},
				{"type":"infl", "lang": "sv", "h3": "subst", "title": "form"},
				{"type":"infl", "lang": "no", "h3": "adj", "title": "form"},
				{"type":"infl", "lang": "en", "h3": "adj", "title": "form"}
			]
		}
	}}]=], [=[
==Svenska==
===Adjektiv===
'''form'''
#{{böjning|sv|adj|huvud}}

===Adverb===
{{adv|sv}}
'''form'''
#{{avledning|sv|huvud|adj}}
#{{böjning|sv|adv|huvud}}

===Substantiv===
'''form'''
#{{böjning|sv|subst|huvud}}

==Bokmål==
===Adjektiv===
{{adj|no}}
'''form-med-diakriter''', '''form''' {{m}} {{f}} {{p}}
#[[huvud]]
#{{böjning|no|adj|huvud}}

==Danska==
===Adjektiv===
{{adj|da}}
'''form-med-diakriter'''
#[[huvud]]

==Engelska==
===Adjektiv===
'''form'''
#{{böjning|en|adj|huvud}}]=], 
	{nowiki=1})
end

return t