Module:anui-pron/testcases: Difference between revisions
Jump to navigation
Jump to search
All tests passed. (refresh)
No edit summary |
No edit summary |
||
| (42 intermediate revisions by the same user not shown) | |||
| Line 6: | Line 6: | ||
end | end | ||
local function | local function bold(x) | ||
return " | return "'''" .. x .. "'''" | ||
end | end | ||
function tests:check_output(term, expected) | function tests:check_output(term, expected) | ||
return tests:equals( | return tests:equals( | ||
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 21: | 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̰ʼã", "ã̰̰ʔã˥˦"}, | ||
{"um", " | {"ùu", "ṵː˨"}, | ||
{" | {"um", "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") | |||
end | end | ||
return tests | return tests | ||
Latest revision as of 20:33, 6 October 2023
- The following documentation is located at Module:anui-pron/testcases/doc.[edit]
- Useful links: root page • root page's subpages • links • transclusions • testcases • sandbox
All tests passed. (refresh)
| Text | Expected | Actual | |
|---|---|---|---|
| aa | aː˧ | aː˧ | |
| aã | ãː˥˦ | ãː˥˦ | |
| a̰a | a̰̰ː˦ | a̰̰ː˦ | |
| a̰ã | ã̰̰ː˧ | ã̰̰ː˧ | |
| a̰ʼa | a̰̰ʔa˦ | a̰̰ʔa˦ | |
| a̰ʼã | ã̰̰ʔã˥˦ | ã̰̰ʔã˥˦ | |
| ùu | ṵː˨ | ṵː˨ | |
| um | m̩ː˥˦ | m̩ː˥˦ | |
| ṵm | m̰̍ː˧ | m̰̍ː˧ | |
| mʼm | m̰̍ʔm̩˧ | m̰̍ʔm̩˧ | |
| oi | ɔi˧ | ɔi˧ | |
| oĩ | ɔ̃ĩ˥˦ | ɔ̃ĩ˥˦ | |
| uĩ | m̩ĩ˥˦ | m̩ĩ˥˦ | |
| ṵĩ | m̰̍ĩ˧ | m̰̍ĩ˧ | |
| ḛe | ḛ̰ː˦ | ḛ̰ː˦ | |
| ṭʼṭʼaṇi | ʈʼʈʼaᶯɖi | ʈʼʈʼaᶯɖi | |
| šǃxa̰ʼã | ʃǃ͡χɑ̰̃ʔã˥˦ | ʃǃ͡χɑ̰̃ʔã˥˦ | |
| ʘui | ʘɯi˧ | ʘɯi˧ | |
| ṭrui | ʈ͡ʂɯi˧ | ʈ͡ʂɯi˧ |
local tests = require('Module:UnitTests')
local m_IPA = require('Module:anui-pron')
local function IPA_style(IPA)
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
function tests:check_output(term, expected)
return tests:equals(
bold(term),
mw.ustring.toNFC(mw.ustring.toNFD(m_IPA.crux(term))),
mw.ustring.toNFC(mw.ustring.toNFD(expected)),
{ display = IPA_style, show_difference = true}
)
end
function tests:test_example()
local list = {
{"aa", "aː˧"},
{"aã", "ãː˥˦"},
{"a̰a", "a̰̰ː˦"},
{"a̰ã", "ã̰̰ː˧"},
{"a̰ʼa", "a̰̰ʔa˦"},
{"a̰ʼã", "ã̰̰ʔã˥˦"},
{"ùu", "ṵː˨"},
{"um", "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")
end
return tests