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", "amiːˈvindiɡon"},
{"ojehiknon", "ojeˈhiknon"},
{"pōja", "ˈpoːja"},
{"riña", "ˈriɲa"},
{"zirȳla", "ziˈɾyːla"},
{"ipradis", "iˈpradis"},
}
self:iterate(list, "check_output")
end
function tests:test_antique()
local list = {
{"vējōñe", "veːˈjoːɲe"},
{"vōljes", "ˈwoːʎes"},
{"vumbiarzy", "ˈwumbi͜arzy"},
{"vȳs", "ˈɥyːs"},
{"ȳgha", "ˈyːɣa"},
{"vajie", "ˈɥaɟi͜e"},
{"vūjigon", "ˈwuːɟiɡon"},
{"qrillaodikio", "qrilˈlao̯diki͜o"},
}
self:iterate(list, "check_output2")
end
return tests