Module:tl-pronunciation/testcases

All tests passed. (refresh)

TextExpectedActual
test_phonetic_pron:
Passedalambre (respelled alambre)ʔɐˈlam.bɾɛʔɐˈlam.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ɐˈxan.tɛbɐˈxan.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)ˈfut.bolˈfut.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)ˈkon.tɾɐˈkon.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ɪˈlin.dɾosɪˈlin.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", "ʔɐˈlam.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ɐˈxan.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", "ˈfut.bol", "futbol" },
		{ "hawla","ˈhaʊ̯.lɐ", "hawla" },
		{ "hingal","ˈhi.ŋɐl", "hingal" }, 
		{ "hingal","hɪˈŋal", "hingál" },
		{ "kongreso", "koŋˈɡɾɛ.so", "kon.greso"},
        { "kontra", "ˈkon.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ɪˈlin.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