Module:qlu-pron/testcases

From Linguifex
< Module:qlu-pron
Revision as of 15:53, 29 June 2025 by Sware (talk | contribs)
Jump to navigation Jump to search

30 of 30 tests failed. (refresh)
TextExpectedActual
test_example:
Failedliuvaleicu
(líuvaleicu)
/ˌlju.βɐˈli.ku/ [ˌlju.βɐˈli.xu]/lju.βɐ.li.ku/ [l̻ju.βɐ.l̻i.xu]
Failedcreggu/ˈkreŋ.ɡu/ [ˈkreŋ˗.ɡ˗u]/kreŋ.gu/ [kreɴ.ɢu]
Failedcreggi
(cregghi)
/ˈkreŋ.ɡi/ [ˈkreŋ˖.ɡ˖i]/kreŋ.gi/ [kreŋ˖.g˖i]
Failedaggio/ˈad.d͡ʒo/ [ˈad.d͡ʒo]/ɐd.d͡ʒo/ [ɐd̻.d͡ʒʷo]
Failedaggiu
(agghiu)
/ˈaŋ.ɡju/ [ˈaŋ˖.ɡ˖ju]/ɐŋ.gju/ [ɐŋ˖.g˖ju]
Failedpizza
(pittsa)
/ˈpit.t͡sɐ/ [ˈpit.t͡sɐ]/pit.t͡sɐ/ [pit̻.t̻͡s̪ɐ]
Failedazzurru
(addzurru)
/ɐdˈd͡zur.ru/ [ɐdˈd͡zur.ru]/ɐd.d͡zur.ru/ [ɐd̻.d̻͡z̪ur.ru]
Failedlughese
(lugheze)
/luˈɡe.ze/ [luˈɡ˖e.ze]/lu.ge.ze/ [l̻u.ɣe.z̻e]
Failedpharmacia/ɸɐrˈma.t͡ʃɐ/ [fɐrˈma.t͡ʃɐ]/ɸɐr.mɐ.t͡ʃɐ/ [fɐr.mɐ.t͡ʃʷɐ]
Failedpharmacia
(pharmacïa)
/ɸɐr.mɐˈt͡ʃi.ɐ/ [fɐr.mɐˈt͡ʃi.ɐ]/ɸɐr.mɐ.t͡ʃi.ɐ/ [fɐr.mɐ.t͡ʃʷi.ɐ]
Failedsalcicia
(salcicia)
sɐlˈt͡ʃi.t͡ʃɐsɐl.t͡ʃi.t͡ʃɐ
Failedsalcicia
(salcîcïa)
sɐlˈt͡ʃi.t͡ʃi.ɐsɐl.t͡ʃi.t͡ʃi.ɐ
Failedaglio/ˈaʎ.ʎo/ [ˈaʎ.ʎo]/ɐʎ.ʎo/ [ɐʎ.ʎo]
Failedagliare/ɐʎˈʎa.re/ [ɐʎˈʎa.re]/ɐʎ.ʎɐ.re/ [ɐʎ.ʎɐ.re]
Failedagliare
(aglïare)
/ɐʎ.ʎiˈa.re/ [ɐʎ.ʎiˈa.re]/ɐʎ.ʎi.ɐ.re/ [ɐʎ.ʎi.ɐ.re]
Failedgaggia
(gaggïa)
ɡɐdˈd͡ʒi.ɐgɐd.d͡ʒi.ɐ
Failedsegguareseŋˈɡʷa.reseŋ.gɐ.re
Failedbiegguare
(bieggüare)
bjeɡˈɡʷa.rebjeg.gɐ.re
Failedcoseikoˈsiko.si
Failedcasa
(caza)
ˈka.zɐkɐ.zɐ
Failedcremise
(crâemize)
ˈkrɛ.mi.zekrɛ.mi.ze
Failedbroþarscape
(bróþar-scape)
ˌbro.θɐrˈska.ɸebro.θɐr.s̻kɐ.ɸe
Failedaegguale
(ăeggüale)
ɛɡˈɡʷa.leɐ̆eg.gɐ.le
Failedspechio
(spaechio)
ˈspɛ.kjospɛ.kjo
Faileddomnu
(daumnu)
ˈdɔm.nudɔm.nu
Failedavogciuɐˈβoŋ˖.k̟juɐ.βoŋ˖.k̟ju
Failedlamnaˈlam.nɐlɐm.nɐ
Failedaugnoˈɔɲ.ɲoõ.ɲo
Failedcompagnia
(compagnïa)
kom.pɐɲˈɲi.ɐkom.pɐ̃.ɲi.ɐ
Failedemmeˈẽ.me.me

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, transcription)
	return tests:equals(
		noresp == "" and linkup(term) or noresp and linkup(noresp) .. "<br>(" .. term .. ")" or linkup(term),
		m_IPA.crux(term, 0, transcription or "test"),
		expected,
		{ display = IPA_style, show_difference = true }
	)
end

function tests:test_example()
	local list = {
		{"líuvaleicu", "/ˌlju.βɐˈli.ku/ [ˌlju.βɐˈli.xu]", "liuvaleicu"},
		{"creggu", "/ˈkreŋ.ɡu/ [ˈkreŋ˗.ɡ˗u]"},
		{ "cregghi", "/ˈkreŋ.ɡi/ [ˈkreŋ˖.ɡ˖i]", "creggi"},
		{"aggio", "/ˈad.d͡ʒo/ [ˈad.d͡ʒo]"},
		{"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ˈma.t͡ʃɐ/ [fɐrˈma.t͡ʃɐ]"},
		{"pharmacïa", "/ɸɐr.mɐˈt͡ʃi.ɐ/ [fɐr.mɐˈt͡ʃi.ɐ]", "pharmacia"},
		{"salcicia", "sɐlˈt͡ʃi.t͡ʃɐ", "salcicia", "phonemic"}, --an Italian word to test stressed <ci>
		{"salcîcïa", "sɐlˈt͡ʃi.t͡ʃi.ɐ", "salcicia", "phonemic"},
		{"aglio", "/ˈaʎ.ʎo/ [ˈaʎ.ʎo]"},
		{"agliare", "/ɐʎˈʎa.re/ [ɐʎˈʎa.re]"},
		{"aglïare", "/ɐʎ.ʎiˈa.re/ [ɐʎ.ʎiˈa.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óþar-scape", "ˌbro.θɐrˈska.ɸe", "broþarscape", "phonetic"},
		{"ă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"},
		{"compagnïa", "kom.pɐɲˈɲi.ɐ", "compagnia", "phonemic"},
		{"emme", "ˈẽ.me", "", "phonemic"},
		--[[{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},]]
	}
	self:iterate(list, "check_output")
end

return tests