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 '<span class="IPA">' .. IPA .. '</span>' 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