Module:qlu-pron/testcases


17 of 30 tests failed. (refresh)
TextExpectedActual
test_example:
Failedliuvaleicu
(líuvaleicu)
/ˌlju.βɐˈli.ku/ [ˌlju.βɐˈli.xu]/ˌlju.βɐˈli.ku/ [ˌ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]/ˈad.d͡ʒo/ [ˈa.d͡ʒʷo]
Failedaggiu
(agghiu)
/ˈaŋ.ɡju/ [ˈaŋ˖.ɡ˖ju]/ˈaŋ.gju/ [ˈaŋ˖.g˖ju]
Failedpizza
(pittsa)
/ˈpit.t͡sɐ/ [ˈpit.t͡sɐ]/ˈpit.t͡sɐ/ [ˈpi.t̻͡s̪ɐ]
Failedazzurru
(addzurru)
/ɐdˈd͡zur.ru/ [ɐdˈd͡zur.ru]/ɐdˈd͡zur.ru/ [ɐˈd̻͡z̪ur.ru]
Failedlughese
(lugheze)
/luˈɡe.ze/ [luˈɡ˖e.ze]/luˈge.ze/ [l̻uˈg˖e.z̻e]
Failedpharmacia/ɸɐrˈma.t͡ʃɐ/ [fɐrˈma.t͡ʃɐ]/ɸɐrˈma.t͡ʃɐ/ [fɐrˈma.t͡ʃʷɐ]
Failedpharmacia
(pharmacïa)
/ɸɐr.mɐˈt͡ʃi.ɐ/ [fɐr.mɐˈt͡ʃi.ɐ]/ɸɐr.mɐˈt͡ʃi.ɐ/ [fɐr.mɐˈt͡ʃʷi.ɐ]
Passedsalcicia
(salcicia)
sɐlˈt͡ʃi.t͡ʃɐsɐlˈt͡ʃi.t͡ʃɐ
Passedsalcicia
(salcîcïa)
sɐlˈt͡ʃi.t͡ʃi.ɐsɐlˈt͡ʃi.t͡ʃi.ɐ
Passedaglio/ˈaʎ.ʎo/ [ˈaʎ.ʎo]/ˈaʎ.ʎo/ [ˈaʎ.ʎo]
Passedagliare/ɐʎˈʎa.re/ [ɐʎˈʎa.re]/ɐʎˈʎa.re/ [ɐʎˈʎa.re]
Passedagliare
(aglïare)
/ɐʎ.ʎiˈa.re/ [ɐʎ.ʎiˈa.re]/ɐʎ.ʎiˈa.re/ [ɐʎ.ʎiˈa.re]
Failedgaggia
(gaggïa)
ɡɐdˈd͡ʒi.ɐgɐdˈd͡ʒi.ɐ
Failedsegguareseŋˈɡʷa.reseŋˈgʷa.re
Failedbiegguare
(bieggüare)
bjeɡˈɡʷa.rebjegˈgʷa.re
Passedcoseikoˈsikoˈsi
Passedcasa
(caza)
ˈka.zɐˈka.zɐ
Passedcremise
(crâemize)
ˈkrɛ.mi.zeˈkrɛ.mi.ze
Failedbroþarscape
(bróþar-scape)
ˌbro.θɐrˈska.ɸeˌbro.θɐrˈka.ɸe
Failedaegguale
(ăeggüale)
ɛɡˈɡʷa.leɛgˈgʷa.le
Passedspechio
(spaechio)
ˈspɛ.kjoˈspɛ.kjo
Passeddomnu
(daumnu)
ˈdɔm.nuˈdɔm.nu
Passedavogciuɐˈβoŋ˖.k̟juɐˈβoŋ˖.k̟ju
Passedlamnaˈlam.nɐˈlam.nɐ
Failedaugnoˈɔɲ.ɲoˈõ.ɲo
Passedcompagnia
(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, nil, 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