Module:qhv-pron/testcases: Difference between revisions

From Linguifex
Jump to navigation Jump to search
No edit summary
No edit summary
 
(7 intermediate revisions by the same user not shown)
Line 6: Line 6:
end
end


local function linkup(text)
local function linkup(text, noresp)
return "[[Contionary:" .. text .. "#High Valyrian|" .. text .. "]]"
return "[[Contionary:" .. text .. "#High Valyrian|" .. text .. "]]"
end
end


function tests:check_output(term, expected)
function tests:check_output(term, expected, noresp)
return tests:equals(
return tests:equals(
linkup(term),
noresp and linkup(noresp) .. "<br>(" .. term .. ")" or linkup(term),
m_IPA.crux(term),
m_IPA.crux(term),
expected,
expected,
Line 30: Line 30:
function tests:test_modern()
function tests:test_modern()
local list = {
local list = {
{"drakarys", "dra.ˈka.ɾys"},
{"drakarys", "draˈkaɾys"},
{"valonqar", "va.ˈloɴ.qar"},
{"valonqar", "vaˈloɴqar"},
{"Thoros", "ˈθo.ɾos"},
{"Thoros", "ˈθoɾos"},
{"arakh", "a.ˈɾax"},
{"arákh", "aˈɾáx", "arakh"},
{"ēngos", "ˈeːŋ.ɡos"},
{"ēngos", "ˈeːŋɡos"},
{"amīvindigon", "a.miː.ˈvin.di.ɡon"},
{"amīvindigon", "amiːˈvindiɡon"},
{"ojehiknon", "o.je.ˈhik.non"},
{"ojehiknon", "ojeˈhiknon"},
{"pōja", "ˈpoː.ja"},
{"pōja", "ˈpoːja"},
{"riña", "ˈri.ɲa"},
{"riña", "ˈriɲa"},
{"zirȳla", "zi.ˈɾyː.la"},
{"zirȳla", "ziˈɾyːla"},
{"ipradis", "i.ˈpra.dis"},
{"ipradis", "iˈpradis"},
{"rholagon", "r̥oˈlaɡon"},
{"rholagon", "ṛoˈlaɡon"},
}
}
self:iterate(list, "check_output")
self:iterate(list, "check_output")
Line 48: Line 48:
function tests:test_antique()
function tests:test_antique()
local list = {
local list = {
{"vējōñe", "veː.ˈjoː.ɲe"},
{"vējōñe", "veːˈjoːɲe"},
{"vōljes", "ˈwoː.ʎes"},
{"vōljes", "ˈwoːʎes"},
{"vumbiarzy", "ˈwum.bi͜ar.zy"},
{"vumbiarzy", "wumˈbi͜arzy"},
{"vȳs", "ˈɥyːs"},
{"vȳs", "ɥyːs"},
{"ȳgha", "ˈyː.ɣa"},
{"ȳgha", "ˈyːɣa"},
{"vajie", "ˈɥa.ɟi͜e"},
{"vajie", "ˈɥaɟi͜e"},
{"vūjigon", "ˈwuː.ɟi.ɡon"},
{"vūjigon", "ˈwuːɟiɡon"},
{"qrillaodikio", "qril.ˈlao̯.di.ki͜o"},
{"qrillaodikio", "qrilˈlao̯diki͜o"},
}
}
self:iterate(list, "check_output2")
self:iterate(list, "check_output2")

Latest revision as of 14:55, 1 July 2021


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