Module:it-pronunciation/sandbox/testcases
Jump to navigation
Jump to search
- The following documentation is located at Module:it-pronunciation/sandbox/testcases/documentation. [edit] Categories were auto-generated by Module:module categorization. [edit]
- Useful links: root page • root page’s subpages • links • transclusions • tested module • sandbox of (diff)
29 of 126 tests failed. (refresh)
Text | Expected | Actual | |
---|---|---|---|
![]() | càne | ˈka.ne | ˈka.ne |
![]() | bène | ˈbɛ.ne | ˈbɛ.ne |
![]() | sóno | ˈso.no | ˈso.no |
![]() | sòno | ˈsɔ.no | ˈsɔ.no |
![]() | ho | o | o |
English letter sequences | |||
![]() | smoking | ˈzmo.kiŋ | ˈzmo.kiŋ |
![]() | gangster | ˈgaŋ.ster | ˈɡan.ɡster |
![]() | hòckey | ˈɔ.ke.i | ˈɔ.ke.i |
![]() | hockeìstico | o.keˈis.ti.ko | o.keˈis.ti.ko |
![]() | crawl | krɔl | krɔl |
![]() | shòck | ʃɔk | ˈʃɔk |
![]() | Oahu | oˈa.u | oˈa.u |
y | |||
![]() | yo-yo | ˈjo.jo | ˈjo.jo |
![]() | whisky | ˈwis.ki | ˈwis.ki |
x | |||
![]() | Craxi | ˈkrak.si | ˈkrak.si |
-izzare | |||
![]() | analizzare | a.na.lidˈd͡za.re | a.na.lidˈd͡za.re |
![]() | nazionalizzare | nat.t͡sjo.na.lidˈd͡za.re | nat.t͡sjo.na.lidˈd͡za.re |
![]() | zonizzare (all z sequences are voiced) | d͡zo.nidˈd͡za.re | d͡zo.nidˈd͡za.re |
![]() | rizzare | ritˈt͡sa.re | ritˈt͡sa.re |
c, g, sc | |||
![]() | cèlo | ˈt͡ʃɛ.lo | ˈt͡ʃɛ.lo |
![]() | ciaccòna | t͡ʃakˈkɔ.na | t͡ʃakˈkɔ.na |
![]() | fàccio | ˈfat.t͡ʃo | ˈfat.t͡ʃo |
![]() | che | ke | ke |
![]() | òcchio | ˈɔk.kjo | ˈɔk.kjo |
![]() | òcchi | ˈɔk.ki | ˈɔk.ki |
![]() | òggi | ˈɔd.d͡ʒi | ˈɔd.d͡ʒi |
![]() | Sciàlpi | ˈʃal.pi | ˈʃal.pi |
![]() | lasciàre | laʃˈʃa.re | laʃˈʃa.re |
![]() | scleràre | skleˈra.re | skleˈra.re |
![]() | ùscio | ˈuʃ.ʃo | ˈuʃ.ʃo |
gn, gl | |||
![]() | ógni | ˈoɲ.ɲi | ˈoɲ.ɲi |
![]() | gnòcco | ˈɲɔk.ko | ˈɲɔk.ko |
![]() | gnagnà | ɲaɲˈɲa | ɲaɲˈɲa |
![]() | vòglio | ˈvɔʎ.ʎo | ˈvɔʎ.ʎo |
![]() | gli | ʎi | ʎi |
![]() | inglése | inˈɡle.ze | inˈɡle.ze |
ng, nq, nch | |||
![]() | anche | ˈan.ke | ˈan.ke |
![]() | dúnque | ˈdun.kwe | ˈdun.kwe |
![]() | vóngola | ˈvon.ɡo.la | ˈvon.ɡo.la |
s | |||
![]() | sguardo | ˈzɡwar.do | ˈzɡwar.do |
![]() | sregolato | zre.ɡoˈla.to | zre.ɡoˈla.to |
![]() | gira-sole | d͡ʒi.raˈso.le | d͡ʒi.raˈso.le |
![]() | desìdero | deˈzi.de.ro | deˈzi.de.ro |
z, zz | |||
![]() | fòrza | ˈfɔr.t͡sa | ˈfɔr.t͡sa |
![]() | ragàzza | raˈɡat.t͡sa | raˈɡat.t͡sa |
![]() | mèzzo | ˈmɛt.t͡so | ˈmɛt.t͡so |
![]() | mèzzo (z sequence 1 is voiced) | ˈmɛd.d͡zo | ˈmɛd.d͡zo |
![]() | zanzara (all z sequences are voiced) | d͡zanˈd͡za.ra | d͡zanˈd͡za.ra |
![]() | nazione | natˈt͡sjo.ne | natˈt͡sjo.ne |
![]() | spazzi | ˈspat.t͡si | ˈspat.t͡si |
![]() | zìo | ˈt͡si.o | ˈt͡si.o |
![]() | agenzìa | a.d͡ʒenˈt͡si.a | a.d͡ʒenˈt͡si.a |
![]() | grazie | ˈɡrat.t͡sje | ˈɡrat.t͡sje |
![]() | azienda (z sequence 1 is voiced) | adˈd͡zjen.da | adˈd͡zjen.da |
![]() | romanzière (z sequence 1 is voiced) | ro.manˈd͡zjɛ.re | ro.manˈd͡zjɛ.re |
![]() | Anzio | ˈan.t͡sjo | ˈan.t͡sjo |
![]() | zàino | ˈd͡zai.no | ˈd͡za.i.no |
![]() | zampa | ˈt͡sam.pa | ˈt͡sam.pa |
![]() | zòccolo | ˈt͡sɔk.ko.lo | ˈt͡sɔk.ko.lo |
![]() | zùfolo | ˈt͡su.fo.lo | ˈt͡su.fo.lo |
![]() | zàffiro (z sequence 1 is voiced) | ˈd͡zaf.fi.ro | ˈd͡zaf.fi.ro |
![]() | zèbra | ˈd͡zɛ.bra | ˈt͡sɛb.ra |
![]() | zuzzurellone | d͡zud.d͡zu.relˈlo.ne | t͡sut.t͡su.relˈlo.ne |
![]() | zanna | ˈt͡san.na | ˈt͡san.na |
![]() | zigano | t͡siˈɡa.no | t͡siˈɡa.no |
![]() | spazî | ˈspat.t͡si | ˈspat.t͡si |
![]() | ozòno (all z sequences are voiced) | odˈd͡zɔ.no | odˈd͡zɔ.no |
semivowels | |||
![]() | quéllo | ˈkwel.lo | ˈkwel.lo |
![]() | grànchio | ˈɡran.kjo | ˈɡran.kjo |
![]() | capiènza | kaˈpjɛn.t͡sa | kapˈjɛn.t͡sa |
![]() | niènte | ˈnjɛn.te | ˈnjɛn.te |
![]() | sùo | ˈsu.o | ˈsu.o |
![]() | può | ˈpwɔ | ˈpwɔ |
![]() | nuòvo | ˈnwɔ.vo | ˈnwɔ.vo |
![]() | devi-are | de.viˈa.re | de.viˈa.re |
Handling of words without accents | |||
![]() | sono | ˈso.no | ˈso.no |
![]() | cane | ˈka.ne | ˈka.ne |
![]() | carta | ˈkar.ta | ˈkar.ta |
Syllabification | |||
![]() | sottosvillupo | sot.to.zvilˈlu.po | sot.toz.vilˈlu.po |
![]() | manùbrio | maˈnu.brjo | maˈnub.rjo |
Text | Expected | Actual | |
---|---|---|---|
![]() | càne | ˈkäː.n̺e̞ | ˈkäː.n̺e |
![]() | bène | ˈbɛː.n̺e | ˈbɛː.n̺e |
![]() | sóno | ˈs̪oː.n̺o | ˈsoː.n̺o |
![]() | sòno | ˈs̪ɔː.n̺o | ˈsɔː.n̺o |
English letter sequences | |||
y | |||
x | |||
-izzare | |||
c, g, sc | |||
![]() | cèlo | ˈt͡ʃɛː.lo | ˈt͡ʃɛː.lo |
![]() | ciaccòna | t͡ʃäkˈkɔː.n̺ä | t͡ʃäkˈkɔː.n̺ä |
![]() | fàccio | ˈfät͡ʃ.t͡ʃo | ˈfät.t͡ʃo |
![]() | che | k̟e | k̟e |
![]() | òcchio | ˈɔk̟.k̟jo | ˈɔk.k̟jo |
![]() | òcchi | ˈɔk̟.k̟i | ˈɔk.k̟i |
![]() | òggi | ˈɔd͡ʒ.d͡ʒi | ˈɔd.d͡ʒi |
![]() | Sciàlpi | ˈʃäl.pi | ˈʃäl.pi |
![]() | lasciàre | läʃˈʃäː.r̺e̞ | läʃˈʃäː.re |
![]() | scleràre | s̪kleˈr̺äː.r̺e̞ | skleˈräː.re |
![]() | ùscio | ˈuʃ.ʃo | ˈuʃ.ʃo |
gn, gl | |||
![]() | ógni | ˈoɲ.ɲi | ˈoɲ.ɲi |
![]() | gnòcco | ˈɲɔk.ko | ˈɲɔk.ko |
![]() | gnagnà | ɲäɲˈɲä | ɲäɲˈɲä |
![]() | vòglio | ˈvɔʎ.ʎo | ˈvɔʎ.ʎo |
![]() | gli | ʎi | ʎi |
![]() | inglése | iŋˈɡleː.z̪e | iŋˈɡleː.ze |
ng, nq, nch | |||
![]() | anche | ˈäŋ.k̟e | ˈäŋ.k̟e |
![]() | dúnque | ˈduŋ.kwe | ˈduŋ.kwe |
![]() | vóngola | ˈvoŋ.ɡo.lä | ˈvoŋ.ɡo.lä |
s | |||
![]() | sguardo | ˈzɡwär.do | ˈzɡwär.do |
![]() | sregolato | zre.ɡoˈläː.to | zre.ɡoˈläː.to |
z, zz | |||
![]() | fòrza | ˈfɔr̺.t̪͡s̪ä | ˈfɔr.t͡sä |
![]() | ragàzza | r̺äˈɡät̪͡s̪.t̪͡s̪ä | räˈɡät.t͡sä |
![]() | mèzzo | ˈmɛt̪͡s̪.t̪͡s̪o | ˈmɛt.t͡so |
![]() | mèzzo (z sequence 1 is voiced) | ˈmɛd̪͡z̪.d̪͡z̪o | ˈmɛd.d͡zo |
![]() | zanzara (all z sequences are voiced) | d̪͡z̪änˈd̪͡z̪äː.r̺ä | d͡zän̺ˈd͡zäː.rä |
![]() | nazione | n̺ätˈt͡sjoː.n̺e | n̺ätˈt͡sjoː.n̺e |
![]() | spazzi | ˈspät.t͡si | ˈspät.t͡si |
![]() | spazî | ˈspät.t͡si | ˈspät.t͡si |
semivowels | |||
![]() | quéllo | ˈkwel.lo | ˈkwel.lo |
![]() | grànchio | ˈɡräŋ.k̟jo | ˈɡräŋ.k̟jo |
![]() | capiènza | käˈpjɛn̺.t͡sä | käpˈjɛn̺.t͡sä |
![]() | niènte | ˈnjɛn̪.t̪e | ˈn̺jɛn̺.te |
![]() | sùo | ˈsuː.o | ˈsuː.o |
![]() | può | ˈpwɔ | ˈpwɔ |
![]() | nuòvo | ˈn̺wɔː.vo | ˈn̺wɔː.vo |
Handling of words without accents | |||
![]() | sono | ˈsoː.n̺o | ˈsoː.n̺o |
![]() | cane | ˈkäː.n̺e̞ | ˈkäː.n̺e |
![]() | carta | ˈkär̺.t̪ä | ˈkär.tä |
Syllabification | |||
![]() | sottosvillupo | sot.to.zvilˈluː.po | sot.toz.vilˈluː.po |
![]() | manùbrio | mäˈn̺u.brjo | mäˈn̺ub.rjo |
local tests = require "Module:UnitTests"
setmetatable(_G, { __index = require "Module:it-pronunciation/sandbox" })
local function tag_IPA(transcription)
if transcription:find "^Error" then
return transcription
else
return '<span class="IPA">' .. transcription .. '</span>'
end
end
local examples = {
{ "càne", "ˈka.ne", "ˈkäː.n̺e̞" },
{ "bène", "ˈbɛ.ne", "ˈbɛː.n̺e" },
{ "sóno", "ˈso.no", "ˈs̪oː.n̺o" },
{ "sòno", "ˈsɔ.no", "ˈs̪ɔː.n̺o" },
{ "ho", "o", "" },
"English letter sequences",
{ "smoking", "ˈzmo.kiŋ", "" },
{ "gangster", "ˈgaŋ.ster", "" },
{ "hòckey", "ˈɔ.ke.i", "" },
{ "hockeìstico", "o.keˈis.ti.ko", "" },
{ "crawl", "krɔl", "" },
{ "shòck", "ʃɔk", "" },
{"Oahu", "oˈa.u", ""},
"y",
{ "yo-yo", "ˈjo.jo", "" },
{ "whisky", "ˈwis.ki", "" },
"x",
{ "Craxi", "ˈkrak.si", "" },
"-izzare",
{ "analizzare", "a.na.lidˈd͡za.re", ""},
{ "nazionalizzare", "nat.t͡sjo.na.lidˈd͡za.re", "" },
{ "zonizzare", "d͡zo.nidˈd͡za.re", "", true },
{ "rizzare", "ritˈt͡sa.re", ""},
"c, g, sc",
{ "cèlo", "ˈt͡ʃɛ.lo", "ˈt͡ʃɛː.lo" },
{ "ciaccòna", "t͡ʃakˈkɔ.na", "t͡ʃäkˈkɔː.n̺ä" },
{ "fàccio", "ˈfat.t͡ʃo", "ˈfät͡ʃ.t͡ʃo" }, -- ˈfat.t͡ʃo is too phonetic; other alternative, ˈfa.t͡ʃːo
{ "che", "ke", "k̟e" },
{ "òcchio", "ˈɔk.kjo", "ˈɔk̟.k̟jo" }, -- Good test for syllabification.
{ "òcchi", "ˈɔk.ki", "ˈɔk̟.k̟i" },
{ "òggi", "ˈɔd.d͡ʒi", "ˈɔd͡ʒ.d͡ʒi" }, -- ˈɔd.d͡ʒi is too phonetic; other alternative, ˈɔ.d͡ʒːi
{ "Sciàlpi", "ˈʃal.pi", "ˈʃäl.pi" },
{ "lasciàre", "laʃˈʃa.re", "läʃˈʃäː.r̺e̞" },
{ "scleràre", "skleˈra.re", "s̪kleˈr̺äː.r̺e̞" },
{ "ùscio", "ˈuʃ.ʃo", "ˈuʃ.ʃo" },
"gn, gl",
{ "ógni", "ˈoɲ.ɲi", "ˈoɲ.ɲi" },
{ "gnòcco", "ˈɲɔk.ko", "ˈɲɔk.ko" },
{ "gnagnà", "ɲaɲˈɲa", "ɲäɲˈɲä" }, -- probably not a real word
{ "vòglio", "ˈvɔʎ.ʎo", "ˈvɔʎ.ʎo" },
{ "gli", "ʎi", "ʎi" },
{ "inglése", "inˈɡle.ze", "iŋˈɡleː.z̪e" },
"ng, nq, nch",
{ "anche", "ˈan.ke", "ˈäŋ.k̟e" },
{ "dúnque", "ˈdun.kwe", "ˈduŋ.kwe" },
{ "vóngola", "ˈvon.ɡo.la", "ˈvoŋ.ɡo.lä" },
"s",
{ "sguardo", "ˈzɡwar.do", "ˈzɡwär.do" },
{ "sregolato", "zre.ɡoˈla.to", "zre.ɡoˈläː.to" },
{ "gira-sole", "d͡ʒi.raˈso.le", "" },
{ "desìdero", "deˈzi.de.ro", "" },
"z, zz",
{ "fòrza", "ˈfɔr.t͡sa", "ˈfɔr̺.t̪͡s̪ä" },
{ "ragàzza", "raˈɡat.t͡sa", "r̺äˈɡät̪͡s̪.t̪͡s̪ä" },
{ "mèzzo", "ˈmɛt.t͡so", "ˈmɛt̪͡s̪.t̪͡s̪o" },
{ "mèzzo", "ˈmɛd.d͡zo", "ˈmɛd̪͡z̪.d̪͡z̪o", { 1 } },
{ "zanzara", "d͡zanˈd͡za.ra", "d̪͡z̪änˈd̪͡z̪äː.r̺ä", true },
-- [[w:Italian orthography]] says the z is geminate, while the English
-- and Italian Wiktionaries say it isn't. It sounds geminate in the soundfile.
{ "nazione", "natˈt͡sjo.ne" , "n̺ätˈt͡sjoː.n̺e" },
{ "spazzi", "ˈspat.t͡si", "ˈspät.t͡si" },
{ "zìo", "ˈt͡si.o", "" },
{ "agenzìa", "a.d͡ʒenˈt͡si.a", "" },
{ "grazie", "ˈɡrat.t͡sje", "" },
{ "azienda", "adˈd͡zjen.da", "", { 1 } },
{ "romanzière", "ro.manˈd͡zjɛ.re", "", { 1 } },
{ "Anzio", "ˈan.t͡sjo", ""},
-- initial z followed by two vowels is usually voiced
{ "zàino", "ˈd͡zai.no", "" },
-- initial z followed by syllable beginning in voiceless consonant is usually voiceless
{ "zampa", "ˈt͡sam.pa", "" },
{ "zòccolo", "ˈt͡sɔk.ko.lo", "" },
{ "zùfolo", "ˈt͡su.fo.lo", "" },
-- exceptions
{ "zàffiro", "ˈd͡zaf.fi.ro", "", { 1 } },
-- initial z followed by syllable beginning in voiced consonant is usually voiced
{ "zèbra", "ˈd͡zɛ.bra", "" },
{ "zuzzurellone", "d͡zud.d͡zu.relˈlo.ne", "" },
-- exceptions
{ "zanna", "ˈt͡san.na", "" },
{ "zigano", "t͡siˈɡa.no", "" },
-- intervocalic "autogeminazione" [[w:it:Autogeminazione]]
{ "spazî", "ˈspat.t͡si", "ˈspät.t͡si" },
{ "ozòno", "odˈd͡zɔ.no", "", true },
"semivowels",
{ "quéllo", "ˈkwel.lo", "ˈkwel.lo" },
{ "grànchio", "ˈɡran.kjo", "ˈɡräŋ.k̟jo" },
{ "capiènza", "kaˈpjɛn.t͡sa", "käˈpjɛn̺.t͡sä" },
{ "niènte", "ˈnjɛn.te", "ˈnjɛn̪.t̪e" }, -- or [n̺ʲ-]?
{ "sùo", "ˈsu.o", "ˈsuː.o" },
{ "può", "ˈpwɔ", "ˈpwɔ" },
{ "nuòvo", "ˈnwɔ.vo", "ˈn̺wɔː.vo" },
{ "devi-are", "de.viˈa.re", "" },
"Handling of words without accents",
{ "sono", "ˈso.no", "ˈsoː.n̺o" },
{ "cane", "ˈka.ne", "ˈkäː.n̺e̞" },
{ "carta", "ˈkar.ta", "ˈkär̺.t̪ä" },
"Syllabification",
{ "sottosvillupo", "sot.to.zvilˈlu.po", "sot.to.zvilˈluː.po" },
{ "manùbrio", "maˈnu.brjo", "mäˈn̺u.brjo" } -- Is u long here?
--[[
-- For new examples:
{ "", "", "" },
-- respelling, phonemic, phonetic
]]
}
function tests:test_to_phonemic()
self:iterate(examples,
function (self, example, expected, _, voiced_z)
local success, result = pcall(to_phonemic, example, voiced_z)
if not success then
result = ("Error: %s"):format(result)
end
local voiced_text
if not voiced_z then
voiced_text = ""
elseif type(voiced_z) == "boolean" then
if voiced_z then
voiced_text = " (all z sequences are voiced)"
else
voiced_text = " (no z sequences are voiced)"
end
else
voiced_text = (" (z sequence%s %s %s voiced)"):format(
voiced_z[2] and "s" or "",
table.concat(voiced_z, ", "),
voiced_z[2] and "are" or "is")
end
self:equals(example .. voiced_text, result, expected, { display = tag_IPA })
end)
end
function tests:test_to_phonetic()
self:iterate(examples,
function (self, example, _, expected, voiced_z)
if expected == "" then
return
end
local success, result = pcall(to_phonetic, example, voiced_z)
if not success then
result = ("Error: %s"):format(result)
end
local voiced_text
if not voiced_z then
voiced_text = ""
elseif type(voiced_z) == "boolean" then
if voiced_z then
voiced_text = " (all z sequences are voiced)"
else
voiced_text = " (no z sequences are voiced)"
end
else
mw.logObject(voiced_z, "voiced_z")
voiced_text = (" (z sequence%s %s %s voiced)"):format(
voiced_z[2] and "s" or "",
table.concat(voiced_z, ", "),
voiced_z[2] and "are" or "is")
end
self:equals(example .. voiced_text, result, expected, { display = tag_IPA })
end)
end
return tests