Module:User:AmazingJus/sce/testcases

local tests = require("Module:UnitTests") local m_IPA = require("Module:User:AmazingJus/sce") local gsub = mw.ustring.gsub

local sce = require("Module:languages").getByCode("sce") local function link(text) return require("Module:links").full_link { term = text, lang = sce } end

local function respell(term) local original_term = term term = gsub(term, "'", ""):gsub("ŋ", "n") return term, original_term ~= term and term or nil end

function tests:test_phonemic_IPA local testcases = { { "baer", "pɑˈɚ" }, { "tiigha", "tʰɯˈqɑ" }, { "niere", "njəˈrə" }, { "enzhegve", "ənt͡ʂəˈʁə" }, { "xiaojieruŋ", "ɕjɑwt͡ɕjəˈruŋ" }, { "'ershi", "ˈɚʂi", "zh" }, { "'ruhher", "ˈʐuhɚ", "zh" } }

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

self:iterate(testcases, function(self, term, IPA, etyl)		local respelt, is_respelt = respell(term)

if is_respelt then self:equals(link(respelt) .. " ", m_IPA.IPA_m(term, etyl), IPA, options) else self:equals(link(term), m_IPA.IPA_m(term, etyl), IPA, options) end end) end

return tests