Module:fi-IPA/testcases

local tests = require "Module:UnitTests" local to_IPA = require "Module:fi-IPA".IPA_wordparts

local function link_fi(term) return ' " .. term .. ' ' end

local function tag_IPA(transcription) return ' ' .. transcription .. ' ' end

function tests:test_phonetic local examples = { "h", { "vihma", "ˈʋiçmɑ̝" }, { "yhtiö", "ˈyçt̪iø̞" }, { "maha", "ˈmɑ̝ɦɑ̝" }, { "mahti", "ˈmɑ̝xt̪i" }, { "kohme", "ˈko̞xme̞" }, { "tuhka", "ˈt̪uxkɑ̝" }, "velar nasal", { "ongelma", "ˈo̞ŋːe̞lmɑ̝" }, "vowel sequences", { "vuosi", "ˈʋuo̞̯s̠i" }, { "ien", "ˈie̞̯n" }, { "spanieli", "ˈs̠pɑ̝niˌe̞li" }, { "hajauttaa", "ˈhɑ̝jɑ̝ˌut̪ːɑ̝ː" }, { "hajautua", "ˈhɑ̝jɑ̝u̯ˌt̪uɑ̝" }, "secondary stress", { "yläosa", "ˈylæˌo̞s̠ɑ̝", "ylä-osa" }, "* in narrow transcription", { "tietokoneajo", "ˈt̪ie̞̯t̪o̞ˌko̞ne̞ˌʔɑ̝jo̞", "tieto-kone*-ajo" }, { "tervetuloa", "ˈt̪e̞rʋe̞t̪̚ˌt̪ulo̞ɑ̝", "terve*-tuloa" }, { "pistenäyttö", "ˈpis̠te̞nˌnæy̯t̪ːø̞", "piste*-näyttö" }, { "terve", "ˈt̪e̞rʋe̞(ʔ)", "terve*" }, "secondary stress in narrow transcription", { "asetyyli", "ˈɑ̝s̠e̞ˌt̪yːli" }, { "mokoma", "ˈmo̞ko̞mɑ̝" }, { "yhdyssana", "ˈyçdys̠ˌs̠ɑ̝nɑ̝", "yhdys-sana" }, { "papiljotti", "ˈpɑ̝pilˌjo̞t̪ːi" }, { "matematiikassani", "ˈmɑ̝t̪e̞mɑ̝ˌt̪iːkɑ̝s̠ˌs̠ɑ̝ni" }, { "perustelemattomalta", "ˈpe̞rus̠te̞le̞ˌmɑ̝t̪ːo̞ˌmɑ̝l̪t̪ɑ̝" }, "misc", { "katse", "ˈkɑ̝ts̠e̞(ʔ)", "katse*" }, { "kunpa", "ˈkumpɑ̝" }, }	local options = { display = tag_IPA } self:iterate(examples,		function (self, term, expected, respelling)			self:equals( link_fi(term) .. (respelling and " ( " .. respelling .. " )" or ""), to_IPA(respelling or term, true), expected, options)		end) end

return tests