Module:tl-pronunciation/testcases

All tests passed. (refresh)

TextExpectedActual
test_phonetic_pron:
Passedalambre (respelled alambre)ʔɐˈlaːm.bɾɛʔɐˈlaːm.bɾɛ
Passedasamblea (respelled asamblea)ʔɐ.sɐmˈblɛː.ɐʔɐ.sɐmˈblɛː.ɐ
Passedaso (respelled aso)ˈʔaː.soˈʔaː.so
Passedatras (respelled atrás)ʔɐtˈɾasʔɐtˈɾas
Passedbaboy (respelled baboy)ˈbaː.boɪ̯ˈbaː.boɪ̯
Passedbaga (respelled bagá)bɐˈɣabɐˈɣa
Passedbaka (respelled baka)ˈbaː.xɐˈbaː.xɐ
Passedbakante (respelled bakante)bɐˈxaːn.tɛbɐˈxaːn.tɛ
Passedbakla (respelled baklá7)bɐkˈlaʔbɐkˈlaʔ
Passedbanyo (respelled banyo)ˈbaː.ɲoˈbaː.ɲo
Passedbanyera (respelled banyera)bɐˈɲɛː.ɾɐbɐˈɲɛː.ɾɐ
PassedCarlos (respelled Carlos)ˈkaːɾ.losˈkaːɾ.los
PassedCebu (respelled Cebú)sɛˈbusɛˈbu
PassedCharlie (respelled Charli)ˈt͡ʃaːɾ.lɪˈt͡ʃaːɾ.lɪ
Passeddating (respelled datíng)dɐˈtiŋdɐˈtiŋ
Passeddaw (respelled daw)daʊ̯daʊ̯
Passeddela Cruz (respelled delá Cruz)dɛˌla ˈkɾusdɛˌla ˈkɾus
Passeddigmaan (respelled digma7an)dɪɡˈmaː.ʔɐndɪɡˈmaː.ʔɐn
Passeddila (respelled dilà)ˈdiː.lɐʔˈdiː.lɐʔ
Passeddiyaryo (respelled diyaryo)ˈd͡ʒaːɾ.joˈd͡ʒaːɾ.jo
PassedDomingo (respelled Domin.go)doˈmiːŋ.ɡodoˈmiːŋ.ɡo
PassedFabian (respelled fabyán)fɐbˈjanfɐbˈjan
Passedfutbol (respelled futbol)ˈfuːt.bolˈfuːt.bol
Passedhawla (respelled hawla)ˈhaːʊ̯.lɐˈhaːʊ̯.lɐ
Passedhingal (respelled hingal)ˈhiː.ŋɐlˈhiː.ŋɐl
Passedhingal (respelled hingál)hɪˈŋalhɪˈŋal
Passedkongreso (respelled kon.greso)koŋˈɡɾɛː.sokoŋˈɡɾɛː.so
Passedkontra (respelled kontra)ˈkoːn.tɾɐˈkoːn.tɾɐ
Passedkontrata (respelled kontrata)konˈtɾaː.tɐkonˈtɾaː.tɐ
Passedkutsara (respelled kutsara)kʊˈt͡ʃaː.ɾɐkʊˈt͡ʃaː.ɾɐ
Passedlayko (respelled layko)ˈlaːɪ̯.xoˈlaːɪ̯.xo
Passedligalig (respelled ligalig)lɪˈɣaː.lɪɡlɪˈɣaː.lɪɡ
Passedluto (respelled lutò)ˈluː.toʔˈluː.toʔ
Passedluto (respelled lutô)lʊˈtoʔlʊˈtoʔ
PassedNiña (respelled Niña)ˈniː.ɲɐˈniː.ɲɐ
Passedpakla (respelled paklá)pɐkˈlapɐkˈla
Passedpinto (respelled pintô)pɪnˈtoʔpɪnˈtoʔ
Passedsilindro (respelled silindro)sɪˈliːn.dɾosɪˈliːn.dɾo
Passedsino ka (respelled sino ka)ˈsiː.no xɐˈsiː.no xɐ
Passedsuklay (respelled sukláy)sʊkˈlaɪ̯sʊkˈlaɪ̯
Passedtatsulok (respelled tat.sulók)tɐt.sʊˈloktɐt.sʊˈlok
Passedteka (respelled teka)ˈtɛː.xɐˈtɛː.xɐ
Passedtiyak (respelled tiyák)ˈt͡ʃakˈt͡ʃak
Passedtransportasyon (respelled transportasyón)tɾɐns.poɾ.tɐˈʃontɾɐns.poɾ.tɐˈʃon
Passedtsiko (respelled tsiko)ˈt͡ʃiː.xoˈt͡ʃiː.xo
Passedulam (respelled ulam)ˈʔuː.lɐmˈʔuː.lɐm
Passeduminom (respelled uminóm)ʔʊ.mɪˈnomʔʊ.mɪˈnom
Passeduwak (respelled uwák)ʔʊˈakʔʊˈak
Passedyakap (respelled yakap)ˈjaː.xɐpˈjaː.xɐp
Passedzigzag (respelled zigzag)ˈziːɡ.zɐɡˈziːɡ.zɐɡ
Passedkibitser (respelled kíbit.ser)ˌkiː.bɪtˈsɛɾˌkiː.bɪtˈsɛɾ
PassedHatsuko (respelled Hat_suko)hɐˈt͡suː.xohɐˈt͡suː.xo
TextExpectedActual
test_syllabification:
PassedAllan (respelled Alan)A.llanA.llan
PassedMallig (respelled Mal.líg)Mal.ligMal.lig
PassedMallig (respelled Malíg)Ma.lligMa.llig
PassedAllahu akbar (respelled Alahu akbár)A.lla.hu ak.barA.lla.hu ak.bar
PassedAthanasia (respelled Atanasya)A.tha.nas.iaA.tha.nas.ia
Passedassalamu alaikum (respelled asalamu alaikum)a.ssa.la.mu a.lai.kuma.ssa.la.mu a.lai.kum
Passedbarangay (respelled baranggáy)ba.ran.gayba.ran.gay
PassedEvangelista (respelled Evanghelista)E.van.ge.lis.taE.van.ge.lis.ta
PassedBay (respelled Ba7ý)Ba.yBa.y
PassedCabiao (respelled Cabyáo)Cab.iaoCab.iao
PassedCaguiat (respelled Caguiát)Cagu.iatCagu.iat
PassedCynthia (respelled Cýntiya)Cyn.thi.aCyn.thi.a
PassedHermogenes (respelled Ermóhenes)Her.mo.ge.nesHer.mo.ge.nes
PassedAbdurahman (respelled Abduramán)Ab.du.rah.manAb.du.rah.man
Passedadhan (respelled adán)a.dhana.dhan
PassedAgatha (respelled Ágata)A.ga.thaA.ga.tha
PassedKho (respelled )KhoKho
PassedZulueta (respelled Zulweta)Zul.ue.taZul.ue.ta
PassedAguado (respelled Agwado)Ag.ua.doAg.ua.do
PassedBuendia (respelled Buendía)Bu.en.di.aBu.en.di.a
PassedMaria (respelled María)Ma.ri.aMa.ri.a
PassedArguelles (respelled Argu.elles)Ar.gu.el.lesAr.gu.el.les
PassedJefferson (respelled Jéferson)Je.ffer.sonJe.ffer.son
PassedGaffud (respelled Gafud)Ga.ffudGa.ffud
PassedGemma (respelled Jema)Ge.mmaGe.mma
Passedummah (respelled uma)u.mmahu.mmah
Passednagko-comment (respelled nagko-coment)nag.ko-co.mmentnag.ko-co.mment
Passedsunna (respelled suna)su.nnasu.nna
PassedHannah (respelled Hana)Ha.nnahHa.nnah
PassedJumu'ah (respelled Jumu7á)Ju.mu.'ahJu.mu.'ah
PassedLhuillier (respelled Lu.ilyér)Lhu.ill.ierLhu.ill.ier
Passedngaun (respelled ngayún)nga.unnga.un
PassedPascual (respelled Pascuwál)Pas.cu.alPas.cu.al
PassedWilliam (respelled William)Will.iamWill.iam
PassedAbby (respelled Aby)A.bbyA.bby
PassedKaaba (respelled Kaba)Kaa.baKaa.ba
PassedFujii (respelled Fuji)Fu.jiiFu.jii
Passedgaan (respelled ga7án)ga.anga.an
Passedkibitser (respelled kíbit.ser)ki.bit.serki.bit.ser
PassedHatsuko (respelled Hat_suko)Ha.tsu.koHa.tsu.ko
PassedKonggo (respelled Konggo)Kong.goKong.go
Passedpag-ibig (respelled pag7ibig)pag-i.bigpag-i.big
Passedbawian ng buhay (respelled bawi7an ng buhay)ba.wi.an ng bu.hayba.wi.an ng bu.hay
Passedbentsingko (respelled bentsingko)ben.tsing.koben.tsing.ko

local tests = require("Module:UnitTests")
local m_tl_pron = require("Module:tl-pronunciation")

local function tag_IPA(IPA)
	return "<span class='IPA'>" .. IPA .. "</span>"
end

local function tag_spelling(spelling)
	return "<code>" .. spelling .. "</code>"
end

local function display_text_and_respelling(text, respelling)
	return ("[[%s#Tagalog|%s]] (respelled %s)"):format(text, text, tag_spelling(respelling))
end

function tests:check_phonetic_ipa(text, expected, respelling)
	self:equals(
		display_text_and_respelling(text, respelling),
		m_tl_pron.IPA(respelling)["phonetic"],
		expected,
		{ display = tag_IPA }
	)
end

function tests:test_phonetic_pron()
	local examples = {
        { "alambre", "ʔɐˈlaːm.bɾɛ", "alambre" },
        { "asamblea", "ʔɐ.sɐmˈblɛː.ɐ", "asamblea" },
        { "aso", "ˈʔaː.so", "aso" },
        { "atras", "ʔɐtˈɾas", "atrás" },
        { "baboy","ˈbaː.boɪ̯", "baboy" },
		{ "baga","bɐˈɣa", "bagá" },
		{ "baka","ˈbaː.xɐ", "baka" },
		{ "bakante","bɐˈxaːn.tɛ", "bakante" },
        { "bakla","bɐkˈlaʔ", "baklá7" },
        { "banyo","ˈbaː.ɲo", "banyo" },
        { "banyera","bɐˈɲɛː.ɾɐ", "banyera" },
        { "Carlos","ˈkaːɾ.los","Carlos"},
        { "Cebu","sɛˈbu","Cebú"}, 
        { "Charlie","ˈt͡ʃaːɾ.lɪ", "Charli"},
		{ "dating","dɐˈtiŋ", "datíng" },
        { "daw","daʊ̯", "daw" },
		{ "dela Cruz", "dɛˌla ˈkɾus", "delá Cruz" },
		{ "digmaan", "dɪɡˈmaː.ʔɐn", "digma7an" }, 
		{ "dila", "ˈdiː.lɐʔ", "dilà" }, 
		{ "diyaryo","ˈd͡ʒaːɾ.jo", "diyaryo" }, 
		{ "Domingo", "doˈmiːŋ.ɡo", "Domin.go"},
        { "Fabian","fɐbˈjan", "fabyán" },
        { "futbol", "ˈfuːt.bol", "futbol" },
		{ "hawla","ˈhaːʊ̯.lɐ", "hawla" },
		{ "hingal","ˈhiː.ŋɐl", "hingal" }, 
		{ "hingal","hɪˈŋal", "hingál" },
		{ "kongreso", "koŋˈɡɾɛː.so", "kon.greso"},
        { "kontra", "ˈkoːn.tɾɐ", "kontra" },
        { "kontrata", "konˈtɾaː.tɐ", "kontrata" },
        { "kutsara","kʊˈt͡ʃaː.ɾɐ","kutsara"}, 
		{ "layko","ˈlaːɪ̯.xo", "layko" },
		{ "ligalig","lɪˈɣaː.lɪɡ","ligalig"},
		{ "luto","ˈluː.toʔ","lutò"},
		{ "luto","lʊˈtoʔ","lutô"},
        { "Niña","ˈniː.ɲɐ","Niña"},
        { "pakla","pɐkˈla", "paklá" },
		{ "pinto","pɪnˈtoʔ","pintô"},
        { "silindro", "sɪˈliːn.dɾo", "silindro" },
        { "sino ka", "ˈsiː.no xɐ", "sino ka" },
        { "suklay","sʊkˈlaɪ̯", "sukláy" },
        { "tatsulok","tɐt.sʊˈlok","tat.sulók"},
		{ "teka","ˈtɛː.xɐ", "teka" },
		{ "tiyak","ˈt͡ʃak","tiyák"},
        { "transportasyon", "tɾɐns.poɾ.tɐˈʃon", "transportasyón" },
        { "tsiko","ˈt͡ʃiː.xo","tsiko"},
		{ "ulam","ˈʔuː.lɐm","ulam"},
		{ "uminom","ʔʊ.mɪˈnom", "uminóm" },
		{ "uwak","ʔʊˈak","uwák"},
		{ "yakap", "ˈjaː.xɐp", "yakap"},
        { "zigzag","ˈziːɡ.zɐɡ", "zigzag" },
		{ "kibitser", "ˌkiː.bɪtˈsɛɾ", "kíbit.ser" },
		{ "Hatsuko", "hɐˈt͡suː.xo", "Hat_suko" },
	}
	self:iterate(examples, "check_phonetic_ipa")
end

function tests:check_syllabification(text, expected, respelling)
	self:equals(
		display_text_and_respelling(text, respelling),
		m_tl_pron.syllabify_and_align(respelling, text),
		expected,
		{ display = tag_spelling }
	)
end

function tests:test_syllabification()
	local examples = {
		{ "Allan", "A.llan", "Alan" },
		{ "Mallig", "Mal.lig", "Mal.líg" },
		{ "Mallig", "Ma.llig", "Malíg" },
		{ "Allahu akbar", "A.lla.hu ak.bar", "Alahu akbár" },
		{ "Athanasia", "A.tha.nas.ia", "Atanasya" },
		{ "assalamu alaikum", "a.ssa.la.mu a.lai.kum", "asalamu alaikum" },
		{ "barangay", "ba.ran.gay", "baranggáy" },
		{ "Evangelista", "E.van.ge.lis.ta", "Evanghelista" },
		{ "Bay", "Ba.y", "Ba7ý" },
		{ "Cabiao", "Cab.iao", "Cabyáo" },
		{ "Caguiat", "Cagu.iat", "Caguiát" },
		{ "Cynthia", "Cyn.thi.a", "Cýntiya" },
		{ "Hermogenes", "Her.mo.ge.nes", "Ermóhenes" },
		{ "Abdurahman", "Ab.du.rah.man", "Abduramán" },
		{ "adhan", "a.dhan", "adán" },
		{ "Agatha", "A.ga.tha", "Ágata" },
		{ "Kho", "Kho", "Kó" },
		{ "Zulueta", "Zul.ue.ta", "Zulweta" },
		{ "Aguado", "Ag.ua.do", "Agwado" },
		{ "Buendia", "Bu.en.di.a", "Buendía" },
		{ "Maria", "Ma.ri.a", "María" },
		{ "Arguelles", "Ar.gu.el.les", "Argu.elles" },
		{ "Jefferson", "Je.ffer.son", "Jéferson" },
		{ "Gaffud", "Ga.ffud", "Gafud" },
		{ "Gemma", "Ge.mma", "Jema" },
		{ "ummah", "u.mmah", "uma" },
		{ "nagko-comment", "nag.ko-co.mment", "nagko-coment" },
		{ "sunna", "su.nna", "suna" },
		{ "Hannah", "Ha.nnah", "Hana" },
		{ "Jumu'ah", "Ju.mu.'ah", "Jumu7á" },
		{ "Lhuillier", "Lhu.ill.ier", "Lu.ilyér" },
		{ "ngaun", "nga.un", "ngayún" },
		{ "Pascual", "Pas.cu.al", "Pascuwál" },
		{ "William", "Will.iam", "William" },
		{ "Abby", "A.bby", "Aby" },
		{ "Kaaba", "Kaa.ba", "Kaba" },
		{ "Fujii", "Fu.jii", "Fuji" },
		{ "gaan", "ga.an", "ga7án" },
		{ "kibitser", "ki.bit.ser", "kíbit.ser" },
		{ "Hatsuko", "Ha.tsu.ko", "Hat_suko" },
		{ "Konggo", "Kong.go", "Konggo" },
		{ "pag-ibig", "pag-i.big", "pag7ibig" },
		{ "bawian ng buhay", "ba.wi.an ng bu.hay", "bawi7an ng buhay" },
		{ "bentsingko", "ben.tsing.ko", "bentsingko" },
}
	self:iterate(examples, "check_syllabification")
end

return tests