Module:ssy-IPA/testcases

local tests = require("Module:UnitTests") local m_IPA = require("Module:ssy-IPA") local lang = require("Module:languages").getByCode("ssy")

local function tag_IPA(IPA) return ' ' .. IPA .. ' ' end local options = {display = tag_IPA}

local function link(word) return require("Module:links").full_link({term = word, lang = lang}, nil, true) end

function tests:check_pron(word, expected) self:equals(		link(word), m_IPA.pronunciation_phonemic(word), expected, options	) end

function tests:test_pron local examples = { {"dor-hö", "dorˈho"}, {"kwannä", "kʷänˈnä"}, {"qiraa-ä", "kʼiräːˈʔä"}, {"thüth", "ˈtʼutʼ" }, }	tests:iterate(examples, "check_pron") end

function tests:test_hyphenation local function format_hyphenation(hyphenation) return table.concat(hyphenation, "‧") end self:iterate(		{			{ "dor-ho", { "dor-ho" } },			{ "kwanna", { "kwan", "na" } },			{ "qiraa-a", { "qi", "raa-a" } },		},		function(self, term, expected)			self:equals( link(term), format_hyphenation(m_IPA.syllabify(term)), format_hyphenation(expected) )		end	) end

return tests