Module:qhv-pron/testcases

From Linguifex
Jump to navigation Jump to search

All tests passed. (refresh)
TextExpectedActual
test_antique:
Passedvējōñeveːˈjoːɲeveːˈjoːɲe
Passedvōljesˈwoːʎesˈwoːʎes
Passedvumbiarzywumˈbi͜arzywumˈbi͜arzy
Passedvȳsɥyːsɥyːs
Passedȳghaˈyːɣaˈyːɣa
Passedvajieˈɥaɟi͜eˈɥaɟi͜e
Passedvūjigonˈwuːɟiɡonˈwuːɟiɡon
Passedqrillaodikioqrilˈlao̯diki͜oqrilˈlao̯diki͜o
TextExpectedActual
test_modern:
Passeddrakarysdraˈkaɾysdraˈkaɾys
Passedvalonqarvaˈloɴqarvaˈloɴqar
PassedThorosˈθoɾosˈθoɾos
Passedarakh
(arákh)
aˈɾáxaˈɾáx
Passedēngosˈeːŋɡosˈeːŋɡos
Passedamīvindigonamiːˈvindiɡonamiːˈvindiɡon
Passedojehiknonojeˈhiknonojeˈhiknon
Passedpōjaˈpoːjaˈpoːja
Passedriñaˈriɲaˈriɲa
Passedzirȳlaziˈɾyːlaziˈɾyːla
Passedipradisiˈpradisiˈpradis
Passedrholagonṛoˈlaɡonṛoˈlaɡon

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, noresp)
	return "[[Contionary:" .. text .. "#High Valyrian|" .. text .. "]]"
end

function tests:check_output(term, expected, noresp)
	return tests:equals(
		noresp and linkup(noresp) .. "<br>(" .. term .. ")" or 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"},
		{"arákh", "aˈɾáx", "arakh"},
		{"ē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"},
		{"rholagon", "ṛ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͜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