Module:qhv-pron/testcases: Difference between revisions

From Linguifex
Jump to navigation Jump to search
No edit summary
No edit summary
Line 30: Line 30:
function tests:test_modern()
function tests:test_modern()
local list = {
local list = {
{"drakaɾys", "draˈkarys"},
{"drakarys", "draˈkaɾys"},
{"valonqar", "vaˈloɴqar"},
{"valonqar", "vaˈloɴqar"},
{"Thoros", "ˈθoɾos"},
{"Thoros", "ˈθoɾos"},
{"aɾakh", "aˈɾax"},
{"arakh", "aˈɾax"},
{"ēngos", "ˈeːŋɡos"},
{"ēngos", "ˈeːŋɡos"},
{"amīvindigon", "amiːˈvindiɡon"},
{"amīvindigon", "amiːˈvindiɡon"},
Line 39: Line 39:
{"pōja", "ˈpoːja"},
{"pōja", "ˈpoːja"},
{"riña", "ˈriɲa"},
{"riña", "ˈriɲa"},
{"ziɾȳla", "ziˈryːla"},
{"zirȳla", "ziˈɾyːla"},
}
}
self:iterate(list, "check_output")
self:iterate(list, "check_output")
Line 46: Line 46:
function tests:test_antique()
function tests:test_antique()
local list = {
local list = {
{"drakaɾys", "draˈkarys"},
{"vējōñe", "veːˈjoːɲe"},
{"valonqar", "vaˈloɴqar"},
{"vōljes", "ˈwoːʎes"},
{"Thoros", "ˈθoɾos"},
{"vumbiarzy", "ˈwumbiarzy"},
{"aɾakh", "aˈɾax"},
{"vȳs", "ɥyːs"},
{"ēngos", "ˈeːŋɡos"},
{"ȳgha", "ˈyːɣa"},
{"amīvindigon", "amiːˈvindiɡon"},
{"vajie", "ˈɥaɟi͜e"},
{"ojehiknon", "ojeˈhiknon"},
{"vūjigon", "ˈwuːɟiɡon"},
{"pōja", "ˈpoːja"},
{"qrillaodikio", "qrilˈlao̯diki͜o"},
{"riña", "ˈriɲa"},
{"ziɾȳla", "ziˈryːla"},
}
}
self:iterate(list, "check_output2")
self:iterate(list, "check_output2")

Revision as of 17:00, 7 February 2021


2 of 18 tests failed. (refresh)
TextExpectedActual
test_antique:
Passedvējōñeveːˈjoːɲeveːˈjoːɲe
Passedvōljesˈwoːʎesˈwoːʎes
Failedvumbiarzyˈwumbiarzywumˈ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
Failedarakhaˈɾaxˈaɾax
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

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"},
	}
	self:iterate(list, "check_output")
end

function tests:test_antique()
	local list = {
		{"vējōñe", "veːˈjoːɲe"},
		{"vōljes", "ˈwoːʎes"},
		{"vumbiarzy", "ˈwumbiarzy"},
		{"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