11 of 29 tests failed. (refresh)
Text | Expected | Actual | |
---|---|---|---|
rr: 신라 | silla | silla | |
ph: 옛한글 | 예(ː)탄글 | 예(ː)탄글 | |
ph: 세 명 | 세(ː) 명 | 세(ː) 명 | |
ipa: 쥐 | ~ | ~ | |
ipa: 밤말은 쥐가 듣고 낮말은 새가 듣는다 | ~ ~ | ~ ~ ~ | |
rr: 학교-에 가다 | hakgyo-e gada | hakgyo-e gada | |
rr: 비-가 오다 | bi-ga oda | bi-ga oda | |
rr: 밭-이 있다 | bach-i itda | bach-i itda | |
rr: 말-을 듣다 | mar-eul deutda | mar-eul deutda | |
rr: 빛-나다 | bin-nada | bin-nada | |
rr: 빛-이 나다 | bich-i nada | bich-i nada | |
rr: 병-이 나다 | byeong-i nada | byeong-'i nada | |
rr: 밖-에 | bakk-e | bakk-e | |
rr: '''학교'''에 가다 | hakgyoe gada | hakgyoe gada | |
rr: '''비'''가 오다 | biga oda | biga oda | |
rr: '''밭'''이 있다 | bachi itda | bac'hi itda | |
rr: '''말'''을 듣다 | mareul deutda | mareul deutda | |
rr: '''빛'''나다 | binnada | binnada | |
rr: '''빛'''이 나다 | bichi nada | bic'hi nada | |
rr: '''병'''이 나다 | byeong'i nada | byeon'g'i nada | |
rr: '''밖'''에 | bakke | bak'ke | |
ph: 개 | 개/게 | 개/게 | |
ph: 왜 | 왜/웨 | 왜/웨 | |
ph: 걔 | 걔/계/게 | 걔/계 | |
ipa: 일 녠 | ~ | ~ | |
ipa: 서울 날씨 | |||
yr: 산보 | sānqpo | sānqpo | |
yr: 학교 | hak.kyo | hak.kyo | |
yr: 감다 | kam.ta | kamqta |
local tests = require('Module:UnitTests')
local m = require('Module:ko-pron')
local corresp = {
= 1,
= 2,
= 3,
= 4,
= 5,
= 6,
}
function tests:rom(system, text, expected, args)
local rom = m.romanise(text, corresp, args or {})
rom = mw.ustring.toNFC(rom)
if system == 'ph' then
-- simplify HTML for sanity
rom = rom:gsub('</b><b>', '')
rom = rom:gsub('</?span>', '')
end
return self:equals(system .. ': ]', rom, expected, {
show_difference = true,
})
end
function tests:test_rom()
-- SEE ALSO: ]
self:rom('rr', '신라', 'silla')
self:rom('ph', '옛한글', '<b>예(ː)탄</b>글', {
= "y",
})
self:rom('ph', '세 명', '세<b>(ː)</b> 명', {
= "y",
})
self:rom('ipa', '쥐', ' ~ ')
self:rom('ipa', '밤말은 쥐가 듣고 낮말은 새가 듣는다', ' ~ ~ ')
-- preserve hyphens and preserve pronunciation
self:rom('rr', '학교-에 가다', 'hakgyo-e gada')
self:rom('rr', '비-가 오다', 'bi-ga oda')
self:rom('rr', '밭-이 있다', 'bach-i itda')
self:rom('rr', '말-을 듣다', 'mar-eul deutda')
self:rom('rr', '빛-나다', 'bin-nada')
self:rom('rr', '빛-이 나다', 'bich-i nada')
self:rom('rr', '병-이 나다', 'byeong-i nada')
self:rom('rr', '밖-에', 'bakk-e')
self:rom('rr', "'''학교'''에 가다", "'''hakgyo'''e gada")
self:rom('rr', "'''비'''가 오다", "'''bi'''ga oda")
self:rom('rr', "'''밭'''이 있다", "'''bach'''i itda")
self:rom('rr', "'''말'''을 듣다", "'''mar'''eul deutda")
self:rom('rr', "'''빛'''나다", "'''bin'''nada")
self:rom('rr', "'''빛'''이 나다", "'''bich'''i nada")
self:rom('rr', "'''병'''이 나다", "'''byeong''''i nada")
self:rom('rr', "'''밖'''에", "'''bakk'''e")
-- ]
self:rom('ph', '개', '개/<b>게</b>')
self:rom('ph', '왜', '왜/<b>웨</b>')
self:rom('ph', '걔', '걔/<b>계</b>/<b>게</b>')
-- ]
self:rom('ipa', '일 녠', ' ~ ')
self:rom('ipa', '서울 날씨', '')
-- ]
self:rom('yr', '산보', 'sānqpo', {
= "y",
= "1",
})
self:rom('yr', '학교', 'hak.kyo')
self:rom('yr', '감다', 'kam.ta', {
= "1",
-- dependent on part-of-speech
})
end
return tests