Module:qlu-pron/testcases: Difference between revisions

From Linguifex
Jump to navigation Jump to search
No edit summary
No edit summary
Line 21: Line 21:
function tests:test_example()
function tests:test_example()
local list = {
local list = {
{"liuvaleicu", "/ˌliw.βɐˈli.ku/ [ˌlʏw.βɐˈli.xu]"},
{"liuvaleicu", "/ˌliw.βɐˈli.ku/ [ˌlʏw.βɐˈli.xu]", "líuvaleicu"},
{"creggu", "/ˈkreŋ.ɡu/ [ˈkreŋ˗.ɡ˗u]"},
{"creggu", "/ˈkreŋ.ɡu/ [ˈkreŋ˗.ɡ˗u]"},
{ "cregghi", "/ˈkreŋ.ɡi/ [ˈkreŋ˖.ɡ˖i]", "creggi"},
{ "cregghi", "/ˈkreŋ.ɡi/ [ˈkreŋ˖.ɡ˖i]", "creggi"},

Revision as of 22:33, 23 January 2025


26 of 26 tests failed. (refresh)
TextExpectedActual
test_example:
Failedlíuvaleicu
(liuvaleicu)
/ˌliw.βɐˈli.ku/ [ˌlʏw.βɐˈli.xu]table
Failedcreggu/ˈkreŋ.ɡu/ [ˈkreŋ˗.ɡ˗u]table
Failedcreggi
(cregghi)
/ˈkreŋ.ɡi/ [ˈkreŋ˖.ɡ˖i]table
Failedaggio/ˈad.d͡ʒo/ [ˈad.d͡ʒoo]table
Failedaggiu
(agghiu)
/ˈaŋ.ɡju/ [ˈaŋ˖.ɡ˖ju]table
Failedpizza
(pittsa)
/ˈpit.t͡sɐ/ [ˈpit.t͡sɐ]table
Failedazzurru
(addzurru)
/ɐdˈd͡zur.ru/ [ɐdˈd͡zur.ru]table
Failedlughese
(lugheze)
/luˈɡe.ze/ [luˈɡ˖e.ze]table
Failedpharmacia/ɸɐr.mɐˈtʃi.ɐ/ [ɸɐr.mɐˈtʃi.ɐ]table
Failedpharmacia
(pharmacïa)
/ɸɐr.mɐˈtʃi.ɐ/ [ɸɐr.mɐˈtʃi.ɐ]table
Failedaglio/ˈaʎ.ʎo/ [ˈaʎ.ʎo]table
Failedagliare/ɐʎˈʎja.re/ [ɐʎˈʎja.re]table
Failedagliare
(aglïare)
/ɐʎˈʎja.re/ [ɐʎˈʎja.re]table
Failedgaggia
(gaggïa)
ɡɐdˈd͡ʒi.ɐtable
Failedsegguareseŋˈɡʷa.retable
Failedbiegguare
(bieggüare)
bjeɡˈɡʷa.retable
Failedcoseikoˈsitable
Failedcasa
(caza)
ˈka.zɐtable
Failedcremise
(crâemize)
ˈkrɛ.mi.zetable
Failedbroþarscape
(bróþarscape)
ˌbro.θɐrˈska.ɸetable
Failedaegguale
(ăeggüale)
ɛɡˈɡʷa.letable
Failedspechio
(spaechio)
ˈspɛ.kjotable
Faileddomnu
(daumnu)
ˈdɔm.nutable
Failedavogciuɐˈβoŋ˖.k̟jutable
Failedlamnaˈlam.nɐtable
Failedaugnoˈɔɲ.ɲotable

local tests = require('Module:UnitTests')
local m_IPA = require('Module:qlu-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 .. "#Luthic|" .. text .. "]]"
end

function tests:check_output(term, expected, noresp, type)
	return tests:equals(
		noresp == "" and linkup(term) or noresp and linkup(noresp) .. "<br>(" .. term .. ")" or linkup(term),
		m_IPA.crux(term, type or "test"),
		expected,
		{ display = IPA_style, show_difference = true }
	)
end

function tests:test_example()
	local list = {
		{"liuvaleicu", "/ˌliw.βɐˈli.ku/ [ˌlʏw.βɐˈli.xu]", "líuvaleicu"},
		{"creggu", "/ˈkreŋ.ɡu/ [ˈkreŋ˗.ɡ˗u]"},
		{ "cregghi", "/ˈkreŋ.ɡi/ [ˈkreŋ˖.ɡ˖i]", "creggi"},
		{"aggio", "/ˈad.d͡ʒo/ [ˈad.d͡ʒoo]"},
		{"agghiu", "/ˈaŋ.ɡju/ [ˈaŋ˖.ɡ˖ju]", "aggiu"},
		{"pittsa", "/ˈpit.t͡sɐ/ [ˈpit.t͡sɐ]", "pizza"},
		{"addzurru", "/ɐdˈd͡zur.ru/ [ɐdˈd͡zur.ru]", "azzurru"},
		{"lugheze", "/luˈɡe.ze/ [luˈɡ˖e.ze]", "lughese"},
		{"pharmacia", "/ɸɐr.mɐˈtʃi.ɐ/ [ɸɐr.mɐˈtʃi.ɐ]"},
		{"pharmacïa", "/ɸɐr.mɐˈtʃi.ɐ/ [ɸɐr.mɐˈtʃi.ɐ]", "pharmacia"},
		{"aglio", "/ˈaʎ.ʎo/ [ˈaʎ.ʎo]"},
		{"agliare", "/ɐʎˈʎja.re/ [ɐʎˈʎja.re]"},
		{"aglïare", "/ɐʎˈʎja.re/ [ɐʎˈʎja.re]", "agliare"},
		{"gaggïa", "ɡɐdˈd͡ʒi.ɐ", "gaggia", "phonemic"},
		{"segguare", "seŋˈɡʷa.re", "", "phonemic"},
		{"bieggüare", "bjeɡˈɡʷa.re", "biegguare", "phonemic"},
		{"cosei", "koˈsi", "", "phonemic"},
		{"caza", "ˈka.zɐ", "casa", "phonemic"},
		{"crâemize", "ˈkrɛ.mi.ze", "cremise", "phonemic"},
		{"bróþarscape", "ˌbro.θɐrˈska.ɸe", "broþarscape", "phonemic"},
		{"ăeggüale", "ɛɡˈɡʷa.le", "aegguale", "phonemic"},
		{"spaechio", "ˈspɛ.kjo", "spechio", "phonemic"},
		{"daumnu", "ˈdɔm.nu", "domnu", "phonemic"},
		{"avogciu", "ɐˈβoŋ˖.k̟ju", "", "phonetic"},
		{"lamna", "ˈlam.nɐ", "", "phonemic"},
		{"augno", "ˈɔɲ.ɲo", "", "phonemic"},
		--[[{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},]]
	}
	self:iterate(list, "check_output")
end

return tests