Module:kpv-IPA/testcases

local tests = require "Module:UnitTests" local to_IPA = require "Module:kpv-IPA".convert

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

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

function tests:test_phonetic local examples = { "phonemic", { "ним", "ˈnʲim" }, { "зильгис", "ˈzʲilʲɡis" }, { "тильган", "ˈtʲilʲɡan" }, { "мича", "ˈmit͡sʲa" }, { "мунінныд", "ˈmuninːɨd" }, { "шонді", "ˈʃondi" }, { "нянь", "ˈnʲanʲ" }, { "видзаасим", "ˈʋid͡zʲaːsʲim" }, { "ясыд", "ˈjasɨd" }, { "шойччыны", "ˈʃojt͡sʲːɨnɨ" }, { "аддзысьлытӧдз", "ˈadd͡zʲɨsʲlɨtəd͡zʲ" }, { "ӧтдортны", "ˈətdortnɨ" }, { "пӧсьджык", "ˈpəsʲd͡ʒɨk" }, { "водтӧдны", "ˈʋodtədnɨ" }, { "вильскӧбтыны", "ˈʋilʲskəbtɨnɨ" }, { "свет", "ˈsʋet" }, { "косджык", "ˈkosd͡ʒɨk" }, { "пос шӧр", "ˈpos ˈʃər" }, { "из шом", "ˈiz ˈʃom" }, { "пӧлӧсджык", "ˈpələsd͡ʒɨk" }, { "видчыны", "ˈʋidt͡sʲɨnɨ" }, { "яеснича", "ˈjajesnʲit͡sʲa" }, { "верблю́д", "ʋerbˈlʲud" }, { "пингви́н", "pinɡˈʋin"}, { "млекопита́ющӧй", "mlʲekopiˈtajuʃːəj" }, { "-ка", "-ka" }, { "видзьяс", "ˈʋid͡zʲjas" }, { "лунъяс", "ˈlunjas" }, { "-яс", "-jas" }, { "-иль", "-ilʲ" }, { "мед-", "ˈmed-" }, { "не-", "ˈnʲe-" }, { "чирк", "ˈt͡sʲirk" }, "phonetic", { "ним", "ˈɲim", true }, { "зильгис", "ˈʑiʎɡis", true }, { "тильган", "ˈciʎɡän", true }, { "мича", "ˈmit͡ɕä", true }, { "мунінныд", "ˈmuninːɯ̈d", true }, { "шонді", "ˈʃ̺o̞ndi", true }, { "нянь", "ˈɲäɲ", true }, { "видзаасим", "ˈʋid͡ʑäːɕim", true }, { "ясыд", "ˈjäsɯ̈d", true }, { "шойччыны", "ˈʃ̺o̞jt͡ɕːɯ̈nɯ̈", true }, { "аддзысьлытӧдз", "ˈäd͡ʑːɯ̈ɕlɯ̈təd͡ʑ", true }, { "ӧтдортны", "ˈədːo̞rtnɯ̈", true }, { "пӧсьджык", "ˈpəʑd͡ʒ̺ɯ̈k", true }, { "водтӧдны", "ˈʋo̞tːədnɯ̈", true }, { "вильскӧбтыны", "ˈʋiʎskəptɯ̈nɯ̈", true }, { "свет", "ˈsʋet", true }, { "косджык", "ˈko̞ʒ̺d͡ʒ̺ɯ̈k", true }, { "пос шӧр", "ˈpo̞ʃ̺ ˈʃ̺ər", true }, { "из шом", "ˈiʒ̺ ˈʃ̺o̞m", true }, { "пӧлӧсджык", "ˈpələʒ̺d͡ʒ̺ɯ̈k", true }, { "видчыны", "ˈʋit͡ɕːɯ̈nɯ̈", true }, { "яеснича", "ˈjäjesɲit͡ɕä", true }, { "верблю́д", "ʋerbˈʎud", true }, { "пингви́н", "pinɡˈʋin", true}, { "млекопита́ющӧй", "mʎeko̞piˈtäjuʃ̺ːəj", true }, { "-ка", "-kä", true }, { "видзьяс", "ˈʋid͡ʑjäs", true }, { "лунъяс", "ˈlunjäs", true }, { "-яс", "-jäs", true }, { "-иль", "-iʎ", true }, { "мед-", "ˈmed-", true }, { "не-", "ˈɲe-", true }, { "чирк", "ˈt͡ɕirk", true }, }	local options = { display = tag_IPA } self:iterate(examples,		function (self, term, expected, is_phonetic, respelling)			self:equals( link_kpv(term) .. (respelling and " ( " .. respelling .. " )" or ""), to_IPA(respelling or term, is_phonetic), expected, options)		end) end

return tests