Module:qhv-pron/testcases: Difference between revisions

From Linguifex
Jump to navigation Jump to search
No edit summary
No edit summary
Line 44: Line 44:
end
end


function tests:test_modern()
function tests:test_antique()
local list = {
local list = {
{"drakaɾys", "draˈkarys"},
{"drakaɾys", "draˈkarys"},

Revision as of 16:49, 7 February 2021


5 tests failed. (refresh)
Text Expected Actual
test_antique:
Script error during testing: Module:UnitTests:247: attempt to call local 'func' (a nil value)
stack traceback:
	Module:UnitTests:247: in function 'iterate'
	Module:qhv-pron/testcases:59: in function <Module:qhv-pron/testcases:46>
	(tail call): ?
	[C]: in function 'xpcall'
	Module:UnitTests:299: in function <Module:UnitTests:261>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	(tail call): ?
	[C]: in function 'xpcall'
	...cribunto/includes/engines/LuaStandalone/MWServer.lua:99: in function 'handleCall'
	...cribunto/includes/engines/LuaStandalone/MWServer.lua:313: in function 'dispatch'
	...cribunto/includes/engines/LuaStandalone/MWServer.lua:52: in function 'execute'
	...Scribunto/includes/engines/LuaStandalone/mw_main.lua:7: in main chunk
	[C]: ?
Text Expected Actual
test_modern:
Failed drakaɾys draˈkarys draˈkaɾys
Failed valonqar vaˈloɴqar ɥaˈloɴqar
Passed Thoros ˈθoɾos ˈθoɾos
Failed aɾakh aˈɾax ˈaɾax
Passed ēngos ˈeːŋɡos ˈeːŋɡos
Passed amīvindigon amiːˈvindiɡon amiːˈvindiɡon
Passed ojehiknon ojeˈhiknon ojeˈhiknon
Passed pōja ˈpoːja ˈpoːja
Passed riña ˈriɲa ˈriɲa
Failed ziɾȳla ziˈryːla ziˈɾ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_output(term, expected)
	return tests:equals(
		linkup(term),
		m_IPA.antique_crux(term),
		expected,
		{ display = IPA_style }
	)
end

function tests:test_modern()
	local list = {
		{"drakaɾys", "draˈkarys"},
		{"valonqar", "vaˈloɴqar"},
		{"Thoros", "ˈθoɾos"},
		{"aɾakh", "aˈɾax"},
		{"ēngos", "ˈeːŋɡos"},
		{"amīvindigon", "amiːˈvindiɡon"},
		{"ojehiknon", "ojeˈhiknon"},
		{"pōja", "ˈpoːja"},
		{"riña", "ˈriɲa"},
		{"ziɾȳla", "ziˈryːla"},
	}
	self:iterate(list, "check_output")
end

function tests:test_antique()
	local list = {
		{"drakaɾys", "draˈkarys"},
		{"valonqar", "vaˈloɴqar"},
		{"Thoros", "ˈθoɾos"},
		{"aɾakh", "aˈɾax"},
		{"ēngos", "ˈeːŋɡos"},
		{"amīvindigon", "amiːˈvindiɡon"},
		{"ojehiknon", "ojeˈhiknon"},
		{"pōja", "ˈpoːja"},
		{"riña", "ˈriɲa"},
		{"ziɾȳla", "ziˈryːla"},
	}
	self:iterate(list, "check_output2")
end

return tests