Module:tl-pronunciation/testcases

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

local function tag_IPA(IPA) return " " .. IPA .. " " end

local function tag_spelling(spelling) return " " end

local function display_text_and_respelling(text, respelling) return ("%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̪ɐˈt̪iŋ", "datíng" }, { "daw","d̪aʊ̯", "daw" }, { "dela Cruz", "d̪ɛˌla ˈkɾus", "delá Cruz" }, { "digmaan", "d̪ɪɡˈmaː.ʔɐn̪", "digma7an" }, { "dila", "ˈd̪iː.lɐʔ", "dilà" }, { "diyaryo","ˈd͡ʒaɾ.jo", "diyaryo" }, { "Domingo", "d̪oˈ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ː.t̪oʔ","lutò"}, { "luto","lʊˈt̪oʔ","lutô"}, { "Niña","ˈn̪iː.ɲɐ","Niña"}, { "pakla","pɐkˈla", "paklá" }, { "pinto","pɪn̪ˈt̪oʔ","pintô"}, { "silindro", "sɪˈlin̪.d̪ɾo", "silindro" }, { "sino ka", "ˈsiː.n̪o 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̪ɾɐn̪s.poɾ.t̪ɐˈʃon̪", "transportasyón" }, { "tsiko","ˈt͡ʃiː.xo","tsiko"}, { "ulam","ˈʔuː.lɐm","ulam"}, { "uminom","ʔʊ.mɪˈn̪om", "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