Module:anui-pron/testcases: Difference between revisions
Jump to navigation
Jump to search
All tests passed. (refresh)
No edit summary |
No edit summary |
||
(43 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
local tests = require('Module:UnitTests') | 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() | 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