Module:hsn-pron-Loudi/testcases

local tests = require("Module:UnitTests")

local m_pron = require("Module:hsn-pron-Loudi")

local function code(text) return ' ' end

local function link(text) return ' ' .. text .. ' ' end

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

local function show(hsn, zh) return code(hsn) .. " (" .. link(zh) .. ")" end

local function remove_html(text) text = text:gsub("<[^>]+>", "") return text end

local options = { display = tag_IPA, show_difference = true } function tests:check(funcName) local func = m_pron[funcName] or error('No function called "' .. funcName .. '" in Module:hsn-pron-Loudi.') return function (self, example, entry, actual) self:equals(show(example, entry), func(example), actual, options) end end

function tests:test_IPA_conv local examples = { { "zieu3* go1", "走家", "(t͡s-)d͡zɪ̯ɤ̟˕⁴²⁻¹ kɔ⁴⁴" }, { "bbi2 ddann5*", "皮蛋", "bɪ¹³ dã̠¹¹⁻¹" }, { "bbi2* ddann5", "皮蛋", "bɪ¹³⁻³³ dã̠¹¹" }, { "guo", "個", "kʊ" }, { "nann5", "爛", "nã̠¹¹" }, { "ue3 ue", "萎萎", "u̯e̞⁴² u̯e̞³" }, { "du3 zr", "肚子", "tɤ̟˕u̯⁴² t͡sz̩³" }, { "ddu2 di5*", "徒弟", "dɤ̟˕u̯¹³ tɪ¹¹⁻¹" }, }	self:iterate(examples, self:check("ipa")) end

return tests