Module:qlu-pron/testcases: Difference between revisions

From Linguifex
Jump to navigation Jump to search
No edit summary
No edit summary
Line 29: Line 29:
{"addzurru", "/ɐdˈd͡zur.ru/ [ɐdˈd͡zur.ru]", "azzurru"},
{"addzurru", "/ɐdˈd͡zur.ru/ [ɐdˈd͡zur.ru]", "azzurru"},
{"lugheze", "/luˈɡe.ze/ [luˈɡ˖e.ze]", "lughese"},
{"lugheze", "/luˈɡe.ze/ [luˈɡ˖e.ze]", "lughese"},
{"pharmacia", "/ɸɐrˈmɐ.t͡ʃɐ/ [fɐrˈmɐ.t͡ʃɐ]"},
{"pharmacia", "/ɸɐrˈma.t͡ʃɐ/ [fɐrˈma.t͡ʃɐ]"},
{"pharmacïa", "/ɸɐr.mɐˈt͡ʃi.ɐ/ [fɐr.mɐˈt͡ʃi.ɐ]", "pharmacia"},
{"pharmacïa", "/ɸɐr.mɐˈt͡ʃi.ɐ/ [fɐr.mɐˈt͡ʃi.ɐ]", "pharmacia"},
{"salcicia", "sɐlˈt͡ʃi.t͡ʃa", "salcicia", "phonemic"}, --an Italian word to test stressed <ci>
{"salcicia", "sɐlˈt͡ʃi.t͡ʃa", "salcicia", "phonemic"}, --an Italian word to test stressed <ci>

Revision as of 18:36, 25 January 2025


30 of 30 tests failed. (refresh)
TextExpectedActual
test_example:
Failedliuvaleicu
(líuvaleicu)
/ˌ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͡ʒo]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ˈma.t͡ʃɐ/ [fɐrˈma.t͡ʃɐ]table
Failedpharmacia
(pharmacïa)
/ɸɐr.mɐˈt͡ʃi.ɐ/ [fɐr.mɐˈt͡ʃi.ɐ]table
Failedsalcicia
(salcicia)
sɐlˈt͡ʃi.t͡ʃatable
Failedsalcicia
(salcïcia)
sɐlˈt͡ʃi.t͡ʃatable
Failedsalcicia
(salcicïa)
sɐlˈt͡ʃi.t͡ʃjatable
Failedsalcicia
(salcïcïa)
sɐlˈt͡ʃi.t͡ʃjatable
Failedaglio/ˈaʎ.ʎo/ [ˈaʎ.ʎo]table
Failedagliare/ɐʎˈʎa.re/ [ɐʎˈʎa.re]table
Failedagliare
(aglïare)
/ɐʎ.ʎiˈa.re/ [ɐʎ.ʎiˈa.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 = {
		{"líuvaleicu", "/ˌliw.βɐˈli.ku/ [ˌlʏw.βɐˈ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͡ʃa", "salcicia", "phonemic"}, --an Italian word to test stressed <ci>
		{"salcïcia", "sɐlˈt͡ʃi.t͡ʃa", "salcicia", "phonemic"},
		{"salcicïa", "sɐlˈt͡ʃi.t͡ʃja", "salcicia", "phonemic"},
		{"salcïcïa", "sɐlˈt͡ʃi.t͡ʃja", "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óþ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