local tests = require('Module:UnitTests')
local m_IPA = require('Module:qhv-pron')
local function IPA_style(IPA)
return '<span style="font-size:110%;font-family:Gentium,\'DejaVu Sans\',\'Segoe UI\',sans-serif>' .. IPA .. '</span>'
end
local function linkup(text)
return "[[Contionary:" .. text .. "#High Valyrian|" .. text .. "]]"
end
function tests:check_output(term, expected)
return tests:equals(
linkup(term),
m_IPA.crux(term),
expected,
{ display = IPA_style }
)
end
function tests:check_output2(term, expected)
return tests:equals(
linkup(term),
m_IPA.antique_crux(term),
expected,
{ display = IPA_style }
)
end
function tests:test_modern()
local list = {
{"drakarys", "dra.ˈka.ɾys"},
{"valonqar", "va.ˈloɴ.qar"},
{"Thoros", "ˈθo.ɾos"},
{"arakh", "a.ˈɾax"},
{"ēngos", "ˈeːŋ.ɡos"},
{"amīvindigon", "a.miː.ˈvin.di.ɡon"},
{"ojehiknon", "o.je.ˈhik.non"},
{"pōja", "ˈpoː.ja"},
{"riña", "ˈri.ɲa"},
{"zirȳla", "zi.ˈɾyː.la"},
{"ipradis", "i.ˈpra.dis"},
{"rholagon", "r̥oˈlaɡon"},
}
self:iterate(list, "check_output")
end
function tests:test_antique()
local list = {
{"vējōñe", "veː.ˈjoː.ɲe"},
{"vōljes", "ˈwoː.ʎes"},
{"vumbiarzy", "ˈwum.bi͜ar.zy"},
{"vȳs", "ˈɥyːs"},
{"ȳgha", "ˈyː.ɣa"},
{"vajie", "ˈɥa.ɟi͜e"},
{"vūjigon", "ˈwuː.ɟi.ɡon"},
{"qrillaodikio", "qril.ˈlao̯.di.ki͜o"},
}
self:iterate(list, "check_output2")
end
return tests