Module:fi-IPA/testcases

From Wiktionary, the free dictionary
Jump to navigation Jump to search

All tests passed. (refresh)

TextExpectedActual
test_phonetic:
h
Passedvihmaˈʋiçmɑ̝ˈʋiçmɑ̝
Passedyhtiöˈyçt̪iø̞ˈyçt̪iø̞
Passedmahaˈmɑ̝ɦɑ̝ˈmɑ̝ɦɑ̝
Passedmahtiˈmɑ̝xt̪iˈmɑ̝xt̪i
Passedkohmeˈko̞xme̞ˈko̞xme̞
Passedtuhkaˈt̪uxkɑ̝ˈt̪uxkɑ̝
velar nasal
Passedongelmaˈo̞ŋːe̞lmɑ̝ˈo̞ŋːe̞lmɑ̝
vowel sequences
Passedvuosiˈʋuo̞̯s̠iˈʋuo̞̯s̠i
Passedienˈie̞̯nˈie̞̯n
Passedspanieliˈs̠pɑ̝niˌe̞liˈs̠pɑ̝niˌe̞li
Passedhajauttaaˈhɑ̝jɑ̝ˌut̪ːɑ̝ːˈhɑ̝jɑ̝ˌut̪ːɑ̝ː
Passedhajautuaˈhɑ̝jɑ̝u̯ˌt̪uɑ̝ˈhɑ̝jɑ̝u̯ˌt̪uɑ̝
secondary stress
Passedyläosa (ylä-osa)ˈylæˌo̞s̠ɑ̝ˈylæˌo̞s̠ɑ̝
* in narrow transcription
Passedtietokoneajo (tieto-kone*-ajo)ˈt̪ie̞̯t̪o̞ˌko̞ne̞ˌʔɑ̝jo̞ˈt̪ie̞̯t̪o̞ˌko̞ne̞ˌʔɑ̝jo̞
Passedtervetuloa (terve*-tuloa)ˈt̪e̞rʋe̞t̪̚ˌt̪ulo̞ɑ̝ˈt̪e̞rʋe̞t̪̚ˌt̪ulo̞ɑ̝
Passedpistenäyttö (piste*-näyttö)ˈpis̠te̞nˌnæy̯t̪ːø̞ˈpis̠te̞nˌnæy̯t̪ːø̞
Passedterve (terve*)ˈt̪e̞rʋe̞(ʔ)ˈt̪e̞rʋe̞(ʔ)
secondary stress in narrow transcription
Passedasetyyliˈɑ̝s̠e̞ˌt̪yːliˈɑ̝s̠e̞ˌt̪yːli
Passedmokomaˈmo̞ko̞mɑ̝ˈmo̞ko̞mɑ̝
Passedyhdyssana (yhdys-sana)ˈyçdys̠ˌs̠ɑ̝nɑ̝ˈyçdys̠ˌs̠ɑ̝nɑ̝
Passedpapiljottiˈpɑ̝pilˌjo̞t̪ːiˈpɑ̝pilˌjo̞t̪ːi
Passedmatematiikassaniˈmɑ̝t̪e̞mɑ̝ˌt̪iːkɑ̝s̠ˌs̠ɑ̝niˈmɑ̝t̪e̞mɑ̝ˌt̪iːkɑ̝s̠ˌs̠ɑ̝ni
Passedperustelemattomaltaˈpe̞rus̠te̞le̞ˌmɑ̝t̪ːo̞ˌmɑ̝l̪t̪ɑ̝ˈpe̞rus̠te̞le̞ˌmɑ̝t̪ːo̞ˌmɑ̝l̪t̪ɑ̝
misc
Passedkatse (katse*)ˈkɑ̝ts̠e̞(ʔ)ˈkɑ̝ts̠e̞(ʔ)
Passedkunpaˈkumpɑ̝ˈkumpɑ̝

local tests = require "Module:UnitTests"
local to_IPA = require "Module:fi-IPA".IPA_wordparts

local function link_fi(term)
	return '<span class="Latn" lang="fi">[[' .. term .. "#Finnish|" .. term .. ']]</span>'
end

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

function tests:test_phonetic()
	local examples = {
		"h",
		{ "vihma", "ˈʋiçmɑ̝" },
		{ "yhtiö", "ˈyçt̪iø̞" },
		{ "maha", "ˈmɑ̝ɦɑ̝" },
		{ "mahti", "ˈmɑ̝xt̪i" },
		{ "kohme", "ˈko̞xme̞" },
		{ "tuhka", "ˈt̪uxkɑ̝" },
		"velar nasal",
		{ "ongelma", "ˈo̞ŋːe̞lmɑ̝" },
		"vowel sequences",
		{ "vuosi", "ˈʋuo̞̯s̠i" },
		{ "ien", "ˈie̞̯n" },
		{ "spanieli", "ˈs̠pɑ̝niˌe̞li" },
		{ "hajauttaa", "ˈhɑ̝jɑ̝ˌut̪ːɑ̝ː" },
		{ "hajautua", "ˈhɑ̝jɑ̝u̯ˌt̪uɑ̝" },
		"secondary stress",
		{ "yläosa", "ˈylæˌo̞s̠ɑ̝", "ylä-osa" },
		"* in narrow transcription",
		{ "tietokoneajo", "ˈt̪ie̞̯t̪o̞ˌko̞ne̞ˌʔɑ̝jo̞", "tieto-kone*-ajo" },
		{ "tervetuloa", "ˈt̪e̞rʋe̞t̪̚ˌt̪ulo̞ɑ̝", "terve*-tuloa" },
		{ "pistenäyttö", "ˈpis̠te̞nˌnæy̯t̪ːø̞", "piste*-näyttö" },
		{ "terve", "ˈt̪e̞rʋe̞(ʔ)", "terve*" },
		"secondary stress in narrow transcription",
		{ "asetyyli", "ˈɑ̝s̠e̞ˌt̪yːli" },
        { "mokoma", "ˈmo̞ko̞mɑ̝" },
        { "yhdyssana", "ˈyçdys̠ˌs̠ɑ̝nɑ̝", "yhdys-sana" },
        { "papiljotti", "ˈpɑ̝pilˌjo̞t̪ːi" },
        { "matematiikassani", "ˈmɑ̝t̪e̞mɑ̝ˌt̪iːkɑ̝s̠ˌs̠ɑ̝ni" },
        { "perustelemattomalta", "ˈpe̞rus̠te̞le̞ˌmɑ̝t̪ːo̞ˌmɑ̝l̪t̪ɑ̝" },
		"misc",
		{ "katse", "ˈkɑ̝ts̠e̞(ʔ)", "katse*" },
		{ "kunpa", "ˈkumpɑ̝" },
	}
	
	local options = { display = tag_IPA }
	
	self:iterate(examples,
		function (self, term, expected, respelling)
			self:equals(
				link_fi(term)
					.. (respelling and " (<kbd>" .. respelling .. "</kbd>)" or ""),
				to_IPA(respelling or term, true),
				expected, options)
		end)
end

return tests