Module:anui-pron/testcases: Difference between revisions

no edit summary
No edit summary
No edit summary
 
(40 intermediate revisions by the same user not shown)
Line 4: Line 4:
local function IPA_style(IPA)
local function IPA_style(IPA)
return '<span style="font-size:110%;font-family:Gentium,\'DejaVu Sans\',\'Segoe UI\',sans-serif>' .. IPA .. '</span>'
return '<span style="font-size:110%;font-family:Gentium,\'DejaVu Sans\',\'Segoe UI\',sans-serif>' .. IPA .. '</span>'
end
local function bold(x)
return "'''" .. x .. "'''"
end
end


function tests:check_output(term, expected)
function tests:check_output(term, expected)
return tests:equals(
return tests:equals(
term,
bold(term),
m_IPA.crux(term),
mw.ustring.toNFC(mw.ustring.toNFD(m_IPA.crux(term))),
expected,
mw.ustring.toNFC(mw.ustring.toNFD(expected)),
{ display = IPA_style }
{ display = IPA_style, show_difference = true}
)
)
end
end
Line 17: Line 21:
function tests:test_example()
function tests:test_example()
local list = {
local list = {
{"aa", ""},
{"aa", "aː˧"},
{"aã", "ãː"},
{"aã", "ãː˥˦"},
{"àa", "a̰ː"},
{"a̰a", "a̰̰ː˦"},
{"àã", "ã̰ː"},
{"a̰ã", "ã̰̰ː˧"},
{"àʼa", "a̰ʔa"},
{"a̰ʼa", "a̰̰ʔa˦"},
{"àʼã", "ã̰ʔã"},
{"a̰ʼã", "ã̰̰ʔã˥˦"},
{"um", "m̍ː˥˦"},
{"ùu", "ṵː˨"},
{"ùm", "m̰̍ː˧"},
{"um", "m̩ː˥˦"},
{"mʼm", "m̰̍ʔm˧"},
{"ṵm", "m̰̍ː˧"},
{"mʼm", "m̰̍ʔm̩˧"},
{"oi", "ɔi˧"},
{"oĩ", "ɔ̃ĩ˥˦"},
{"uĩ", "m̩ĩ˥˦"},
{"ṵĩ", "m̰̍ĩ˧"},
{"ḛe", "ḛ̰ː˦"},
{"ṭʼṭʼaṇi", "ʈʼʈʼaᶯɖi"},
{"šǃxa̰ʼã", "ʃǃ͡χɑ̰̃ʔã˥˦"},
{"ʘui", "ʘɯi˧"},
{"ṭrui", "ʈ͡ʂɯi˧"},
}
}
self:iterate(list, "check_output")
self:iterate(list, "check_output")