Module:cs-pronunciation/testcases

Definition from Wiktionary, the free dictionary
Jump to navigation Jump to search

All tests passed. (refresh)

Text Expected Actual
test_all:
Passed hrň ˈɦr̩ɲ ˈɦr̩ɲ
Passed v rukávě ˈvrukaːvjɛ ˈvrukaːvjɛ
Passed denní ˈdɛɲiː ˈdɛɲiː
Passed chladný jako led xladniː jako lɛt xladniː jako lɛt
Passed gřece (k řece) ˈɡr̝ɛt͡sɛ ˈɡr̝ɛt͡sɛ
Passed v okně ˈfʔokɲɛ ˈfʔokɲɛ
Passed ne?obyčejný (neobyčejný) ˈnɛʔobɪt͡ʃɛjniː ˈnɛʔobɪt͡ʃɛjniː
Passed mimo?olomoucký (mimoolomoucký) ˈmɪmoʔolomou̯t͡skiː ˈmɪmoʔolomou̯t͡skiː
Passed vzkvět ˈfskvjɛt ˈfskvjɛt
Passed rtuť ˈrtuc ˈrtuc
Passed lpí ˈlpiː ˈlpiː
Passed msta ˈmsta ˈmsta
Passed sedum (sedm) ˈsɛdum ˈsɛdum
Passed sedm ˈsɛdm̩ ˈsɛdm̩
Passed osm ˈosm̩ ˈosm̩
Passed srdce ˈsr̩t͡sɛ ˈsr̩t͡sɛ
Passed nashledanou (na shledanou) ˈnazɦlɛdanou̯ ˈnazɦlɛdanou̯
Passed naschledanou (na shledanou) ˈnasxlɛdanou̯ ˈnasxlɛdanou̯
Passed fašismus ˈfaʃɪzmus ˈfaʃɪzmus
Passed zmrzlina ˈzmr̩zlɪna ˈzmr̩zlɪna
Passed antyhrdina (antihrdina) ˈantɪɦr̩ɟɪna ˈantɪɦr̩ɟɪna
Passed identyfikovat (identifikovat) ˈɪdɛntɪfɪkovat ˈɪdɛntɪfɪkovat
Passed banka ˈbaŋka ˈbaŋka
Passed měkký ˈmɲɛkiː ˈmɲɛkiː
Passed břich ˈbr̝ɪx ˈbr̝ɪx
Passed dřeň ˈdr̝ɛɲ ˈdr̝ɛɲ
Passed hřích ˈɦr̝iːx ˈɦr̝iːx
Passed chřest ˈxr̝̊ɛst ˈxr̝̊ɛst
Passed křen ˈkr̝̊ɛn ˈkr̝̊ɛn
Passed mříž ˈmr̝iːʃ ˈmr̝iːʃ
Passed přes ˈpr̝̊ɛs ˈpr̝̊ɛs
Passed tři ˈtr̝̊ɪ ˈtr̝̊ɪ
Passed vřes ˈvr̝ɛs ˈvr̝ɛs
Passed zřít ˈzr̝iːt ˈzr̝iːt
Passed dvířka ˈdviːr̝̊ka ˈdviːr̝̊ka
Passed kouř ˈkou̯r̝̊ ˈkou̯r̝̊
Passed těžký ˈcɛʃkiː ˈcɛʃkiː
Passed stín ˈsciːn ˈsciːn
Passed děs ˈɟɛs ˈɟɛs
Passed vně ˈvɲɛ ˈvɲɛ
Passed knír ˈkɲiːr ˈkɲiːr
Passed hřbet ˈɦr̝bɛt ˈɦr̝bɛt
Passed zmrznout ˈzmr̩znou̯t ˈzmr̩znou̯t
Passed vrh ˈvr̩x ˈvr̩x
Passed vrch ˈvr̩x ˈvr̩x
Passed vlk ˈvl̩k ˈvl̩k
Passed hrb ˈɦr̩p ˈɦr̩p
Passed hod ˈɦot ˈɦot
Passed tah ˈtax ˈtax
Passed dav ˈdaf ˈdaf
Passed fez ˈfɛs ˈfɛs
Passed muž ˈmuʃ ˈmuʃ
Passed zpívat ˈspiːvat ˈspiːvat
Passed boršč ˈborʃt͡ʃ ˈborʃt͡ʃ

local tests = require('Module:UnitTests')
local m_IPA = require('Module:cs-pronunciation')

local function tag_IPA(IPA)
	return '<span class="IPA">' .. IPA .. '</span>'
end

function tests:check_output(term, expected, link)
	return self:equals(
		link and m_IPA.tag_text(term) .. " (" .. m_IPA.link(link) .. ")" or m_IPA.link(term),
		m_IPA.toIPA(term),
		expected,
		{ display = tag_IPA }
	)
end

function tests:test_all()
	local list = {
		{ "hrň", "ˈɦr̩ɲ" },
		{ "v rukávě", "ˈvrukaːvjɛ" },
		{ "denní", "ˈdɛɲiː" },
		{ "chladný jako led", "xladniː jako lɛt" },
		{ "gřece", "ˈɡr̝ɛt͡sɛ", "k řece" },
		{ 'v okně', "ˈfʔokɲɛ" },
		{ "ne?obyčejný", "ˈnɛʔobɪt͡ʃɛjniː", "neobyčejný" },
		{ "mimo?olomoucký", "ˈmɪmoʔolomou̯t͡skiː", "mimoolomoucký" },
		{ "vzkvět", "ˈfskvjɛt" },
		{ "rtuť", "ˈrtuc" },
		{ "lpí", "ˈlpiː" },
		{ "msta", "ˈmsta" },
		{ "sedum", "ˈsɛdum", "sedm" },
		{ "sedm", "ˈsɛdm̩" },
		{ "osm", "ˈosm̩" },
		{ "srdce", "ˈsr̩t͡sɛ" },
		{ 'nashledanou', "ˈnazɦlɛdanou̯", "na shledanou" },
		{ 'naschledanou', "ˈnasxlɛdanou̯", "na shledanou" },
		{ "fašismus", "ˈfaʃɪzmus" },
		{ "zmrzlina", "ˈzmr̩zlɪna" },
		{ "antyhrdina", "ˈantɪɦr̩ɟɪna", "antihrdina" },
		{ "identyfikovat", "ˈɪdɛntɪfɪkovat", "identifikovat" },
		{ "banka", "ˈbaŋka" },
		{ "měkký", "ˈmɲɛkiː" },
	
		{ "břich", "ˈbr̝ɪx" },
		{ "dřeň", "ˈdr̝ɛɲ" },
		{ "hřích", "ˈɦr̝iːx" },
		{ "chřest", "ˈxr̝̊ɛst" },
		{ "křen", "ˈkr̝̊ɛn" },
		{ "mříž", "ˈmr̝iːʃ" },
		{ "přes", "ˈpr̝̊ɛs" },
		{ "tři", "ˈtr̝̊ɪ" },
		{ "vřes", "ˈvr̝ɛs" },
		{ "zřít", "ˈzr̝iːt" },
		{ "dvířka", "ˈdviːr̝̊ka"},
		{ "kouř", "ˈkou̯r̝̊" },
	
		{ "těžký", "ˈcɛʃkiː" },
		{ "stín", "ˈsciːn" },
		{ "děs", "ˈɟɛs" },
		{ "vně", "ˈvɲɛ" },
		{ "knír", "ˈkɲiːr" },
		{ "hřbet", "ˈɦr̝bɛt" },
		{ "zmrznout", "ˈzmr̩znou̯t" },
		{ "vrh", "ˈvr̩x" },
		{ "vrch", "ˈvr̩x" },
		{ "vlk", "ˈvl̩k" },
	
		{ "hrb", "ˈɦr̩p" },
		{ "hod", "ˈɦot" },
		{ "tah", "ˈtax" },
		{ "dav", "ˈdaf" },
		{ "fez", "ˈfɛs" },
		{ "muž", "ˈmuʃ" },
	
		{ "zpívat", "ˈspiːvat" },
		{ "boršč", "ˈborʃt͡ʃ" },
	}
	
	self:iterate(list, "check_output")
--[[
	Additions take this form –
		{ "entry name", "IPA" },
		{ "", "" },
	or, if you are generating IPA from a respelling of the term –
		{ "respelling", "IPA", "entry name" }
		{ "", "", "" },
	Make sure to include the comma, or the module will return an error.
--]]
end

return tests