Module:izh-pronunciation/testcases

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

All tests passed. (refresh)

TextExpectedActual
test_phonetic:
Passedkoira (Ala-Laukaa)/ˈkoi̯rɑ/, [ˈko̞i̯r]/ˈkoi̯rɑ/, [ˈko̞i̯r]
Passedkoira (Soikkola)/ˈkoi̯rɑ/, [ˈko̞i̯rɑ]/ˈkoi̯rɑ/, [ˈko̞i̯rɑ]
Passedmaata (ma.ata) (Ala-Laukaa)/ˈmɑ.ɑtɑ/, [ˈmɑ.ɑt]/ˈmɑ.ɑtɑ/, [ˈmɑ.ɑt]
Passedmaata (ma.ata) (Soikkola)/ˈmɑ.ɑtɑ/, [ˈmɑ.ɑd̥ɑ]/ˈmɑ.ɑtɑ/, [ˈmɑ.ɑd̥ɑ]
Passedeno (Ala-Laukaa)/ˈeno/, [ˈe̞no̞]/ˈeno/, [ˈe̞no̞]
Passedeno (enoj) (Soikkola)/ˈenoi̯/, [ˈe̞no̞i̯]/ˈenoi̯/, [ˈe̞no̞i̯]
Passedsyän (Ala-Laukaa)/ˈsyæn/, [ˈs̠yæn]/ˈsyæn/, [ˈs̠yæn]
Passedsyän (Soikkola)/ˈsyæn/, [ˈʃyæn]/ˈsyæn/, [ˈʃyæn]
Passedpaljo (Ala-Laukaa)/ˈpɑljo/, [ˈpɑlʲːŏ̞̥]/ˈpɑljo/, [ˈpɑlʲːŏ̞̥]
Passedpaljo (Soikkola)/ˈpɑljo/, [ˈpɑlʲjo̞]/ˈpɑljo/, [ˈpɑlʲjo̞]
Passedvalkia (Ala-Laukaa)/ˈʋɑlkiɑ/, [ˈʋɑɫke̞]/ˈʋɑlkiɑ/, [ˈʋɑɫke̞]
Passedvalkia (Soikkola)/ˈʋɑlkiɑ/, [ˈʋɑɫkiɑ]/ˈʋɑlkiɑ/, [ˈʋɑɫkiɑ]
Passednäyttää (Ala-Laukaa)/ˈnæy̯tːæː/, [ˈnæy̯tːæ]/ˈnæy̯tːæː/, [ˈnæy̯tːæ]
Passednäyttää (Soikkola)/ˈnæy̯tːæː/, [ˈnæy̯tːæː]/ˈnæy̯tːæː/, [ˈnæy̯tːæː]
Passedleikata (leikata) (Ala-Laukaa)/ˈlei̯kɑtɑ/, [ˈlʲe̞i̯kət]/ˈlei̯kɑtɑ/, [ˈlʲe̞i̯kət]
Passedleikata (leikata) (Soikkola)/ˈlei̯kɑtɑ/, [ˈle̞i̯ɡ̊ɑd̥ɑ]/ˈlei̯kɑtɑ/, [ˈle̞i̯ɡ̊ɑd̥ɑ]
Passedtoest (toesta) (Ala-Laukaa)/ˈtoestɑ/, [ˈto̞e̞s̠t]/ˈtoestɑ/, [ˈto̞e̞s̠t]
Passedtoest (Soikkola)/ˈtoest/, [ˈto̞e̞ʃt]/ˈtoest/, [ˈto̞e̞ʃt]
Passedlatva (Ala-Laukaa)/ˈlɑtʋɑ/, [ˈɫɑtʋ]/ˈlɑtʋɑ/, [ˈɫɑtʋ]
Passedlatva (Soikkola)/ˈlɑtʋɑ/, [ˈɫɑd̥ʋɑ]/ˈlɑtʋɑ/, [ˈɫɑd̥ʋɑ]
Passedmerkitös (Ala-Laukaa)/ˈmerkitøs/, [ˈme̞rkĭtø̞̆z̠]/ˈmerkitøs/, [ˈme̞rkĭtø̞̆z̠]
Passedmerkitös (Soikkola)/ˈmerkitøs/, [ˈme̞rɡ̊id̥ø̞ʒ̥]/ˈmerkitøs/, [ˈme̞rɡ̊id̥ø̞ʒ̥]
Passedmerkitsömmiin (merkitsömine) (Ala-Laukaa)/ˈmerkit͡sømine/, [ˈme̞rkĭˌt͡s̠ø̞min]/ˈmerkit͡sømine/, [ˈme̞rkĭˌt͡s̠ø̞min]
Passedmerkitsömmiin (merkitsömiin) (Soikkola)/ˈmerkit͡sømiːn/, [ˈme̞rɡ̊iˌt͡sø̞mˑiːn]/ˈmerkit͡sømiːn/, [ˈme̞rɡ̊iˌt͡sø̞mˑiːn]
Passedmetsä (Ala-Laukaa)/ˈmet͡sæ/, [ˈme̞t͡s̠]/ˈmet͡sæ/, [ˈme̞t͡s̠]
Passedmetsä (Soikkola)/ˈmet͡sæ/, [ˈme̞t͡sæ]/ˈmet͡sæ/, [ˈme̞t͡sæ]
PassedUus Voos (Ala-Laukaa)/ˈuːs ˈʋoːs/, [ˈuːz̠ ˈʋoːz̠]/ˈuːs ˈʋoːs/, [ˈuːz̠ ˈʋoːz̠]
PassedUus Voos (Soikkola)/ˈuːs ˈʋoːs/, [ˈuːʒ ˈʋo̝ːʒ̥]/ˈuːs ˈʋoːs/, [ˈuːʒ ˈʋo̝ːʒ̥]
Passediloistaa (ilojstaa) (Ala-Laukaa)/ˈiloi̯stɑː/, [ˈiɫo̞i̯s̠tɑ]/ˈiloi̯stɑː/, [ˈiɫo̞i̯s̠tɑ]
Passediloistaa (ilojstaa) (Soikkola)/ˈiloi̯stɑː/, [ˈiɫo̞i̯ʃtɑː]/ˈiloi̯stɑː/, [ˈiɫo̞i̯ʃtɑː]
Passedhapukoitella (hapukojtella) (Ala-Laukaa)/ˈhɑpukoi̯telːɑ/, [ˈhɑpuˌko̞i̯te̞ɫː]/ˈhɑpukoi̯telːɑ/, [ˈhɑpuˌko̞i̯te̞ɫː]
Passedhapukoitella (hapukojtella) (Soikkola)/ˈhɑpukoi̯telːɑ/, [ˈhɑb̥uˌɡ̊o̞i̯d̥e̞ɫːɑ]/ˈhɑpukoi̯telːɑ/, [ˈhɑb̥uˌɡ̊o̞i̯d̥e̞ɫːɑ]
Passedepästyä (epäst'yä) (Ala-Laukaa)/ˈepæstyæ/, [ˈe̞pæs̠ˌtʲyæ]/ˈepæstyæ/, [ˈe̞pæs̠ˌtʲyæ]
Passedepästyä (epäst'yä) (Soikkola)/ˈepæstyæ/, [ˈe̞b̥æʃˌtyæ]/ˈepæstyæ/, [ˈe̞b̥æʃˌtyæ]
PassedValja (Valj'a) (Ala-Laukaa)/ˈʋɑlʲɑ/, [ˈʋɑlʲɑ]/ˈʋɑlʲɑ/, [ˈʋɑlʲɑ]
PassedValja (Valj'a) (Soikkola)/ˈʋɑlʲɑ/, [ˈʋɑlʲɑ]/ˈʋɑlʲɑ/, [ˈʋɑlʲɑ]
Passedguljaittaa (gulj'aittaa) (Ala-Laukaa)/ˈɡulʲɑi̯tːɑː/, [ˈɡulʲːətːɑ]/ˈɡulʲɑi̯tːɑː/, [ˈɡulʲːətːɑ]
Passedguljaittaa (gulj'aittaa) (Soikkola)/ˈɡulʲɑi̯tːɑː/, [ˈkulʲˑɑi̯tːɑː]/ˈɡulʲɑi̯tːɑː/, [ˈkulʲˑɑi̯tːɑː]
Passedrublja (rublj'a) (Ala-Laukaa)/ˈrublʲɑ/, [ˈrublʲ]/ˈrublʲɑ/, [ˈrublʲ]
Passedrublja (rublj'a) (Soikkola)/ˈrublʲɑ/, [ˈrub̥lʲɑ]/ˈrublʲɑ/, [ˈrub̥lʲɑ]
Passedvaaliamp (vaaliampi) (Ala-Laukaa)/ˈʋɑːliɑmpi/, [ˈʋɑːlʲe̞mpʲ]/ˈʋɑːliɑmpi/, [ˈʋɑːlʲe̞mpʲ]
Passedvaaliamp (vaaliamp) (Soikkola)/ˈʋɑːliɑmp/, [ˈʋɑːliɑmb̥]/ˈʋɑːliɑmp/, [ˈʋɑːliɑmb̥]
Passedlevviämp (leviämpi) (Ala-Laukaa)/ˈleʋiæmpi/, [ˈlʲe̞ʋːe̞mpʲ]/ˈleʋiæmpi/, [ˈlʲe̞ʋːe̞mpʲ]
Passedlevviämp (leviämp) (Soikkola)/ˈleʋiæmp/, [ˈle̞ʋˑiæmb̥]/ˈleʋiæmp/, [ˈle̞ʋˑiæmb̥]
Passedsikiäin (siki.äjne) (Ala-Laukaa)/ˈsiki.æi̯ne/, [ˈs̠iki.əi̯n]/ˈsiki.æi̯ne/, [ˈs̠iki.əi̯n]
Passedsikiäin (siki.äin) (Soikkola)/ˈsiki.æi̯n/, [ˈʃiɡ̊i.æi̯n]/ˈsiki.æi̯n/, [ˈʃiɡ̊i.æi̯n]
Passedsukulain (sukulajne) (Ala-Laukaa)/ˈsukulɑi̯ne/, [ˈs̠ukuɫəi̯n]/ˈsukulɑi̯ne/, [ˈs̠ukuɫəi̯n]
Passedsukulain (sukulain) (Soikkola)/ˈsukulɑi̯n/, [ˈʃuɡ̊uɫɑi̯n]/ˈsukulɑi̯n/, [ˈʃuɡ̊uɫɑi̯n]
Passedutjuga (utj'uga) (Ala-Laukaa)/ˈutʲuɡɑ/, [ˈutʲuɡ]/ˈutʲuɡɑ/, [ˈutʲuɡ]
Passedutjuga (utj'uuga) (Soikkola)/ˈutʲuːɡɑ/, [ˈutʲˑuːɡ̊ɑ]/ˈutʲuːɡɑ/, [ˈutʲˑuːɡ̊ɑ]
Passedyksslogain (yks-slogajne) (Ala-Laukaa)/ˈyksˌsloɡɑi̯ne/, [ˈyks̠ˌs̠ɫo̞ɡɑi̯n]/ˈyksˌsloɡɑi̯ne/, [ˈyks̠ˌs̠ɫo̞ɡɑi̯n]
Passedyksslogain (yks-slogain) (Soikkola)/ˈyksˌsloɡɑi̯n/, [ˈykʃˌʃɫo̞kˑɑi̯n]/ˈyksˌsloɡɑi̯n/, [ˈykʃˌʃɫo̞kˑɑi̯n]
Passedvarajooni (Ala-Laukaa)/ˈʋɑrɑjoːni/, [ˈʋɑrɑjo̞nʲ]/ˈʋɑrɑjoːni/, [ˈʋɑrɑjo̞nʲ]
Passedvarajooni (Soikkola)/ˈʋɑrɑjoːni/, [ˈʋɑrɑˌjo̝ːni]/ˈʋɑrɑjoːni/, [ˈʋɑrɑˌjo̝ːni]
Passedhyle (Ala-Laukaa)/ˈhyle/, [ˈhylʲe̞]/ˈhyle/, [ˈhylʲe̞]
Passedhyle (Soikkola)/ˈhyle/, [ˈhyle̞]/ˈhyle/, [ˈhyle̞]
Passedliitsatoin (liitsato/in) (Soikkola)/ˈliːt͡sɑtoi̯n/, [ˈlʲiːt͡sɑd̥o̞i̯n]/ˈliːt͡sɑtoi̯n/, [ˈlʲiːt͡sɑd̥o̞i̯n]
Passedtaanolliin (taanolline) (Ala-Laukaa)/ˈtɑːnolːine/, [ˈtɑːnŏ̞lʲˌlʲine̞]/ˈtɑːnolːine/, [ˈtɑːnŏ̞lʲˌlʲine̞]

local tests = require "Module:UnitTests"
local m_izh = require "Module:izh-pronunciation"

local function link_izh(term)
	return '<span class="Latn" lang="izh">[[' .. term .. "#Ingrian|" .. term .. ']]</span>'
end

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

local function to_IPA(variety_code, form)
	local result = m_izh.generate_one(form, variety_code)
	return "/" .. result.broad .. "/, [" .. result.narrow .. "]"
end

function tests:test_phonetic()
	local examples = {
		{ "A", "koira", nil, "/ˈkoi̯rɑ/, [ˈko̞i̯r]" },
		{ "S", "koira", nil, "/ˈkoi̯rɑ/, [ˈko̞i̯rɑ]" },
		{ "A", "maata", "ma.ata", "/ˈmɑ.ɑtɑ/, [ˈmɑ.ɑt]" },
		{ "S", "maata", "ma.ata", "/ˈmɑ.ɑtɑ/, [ˈmɑ.ɑd̥ɑ]" },
		{ "A", "eno", nil, "/ˈeno/, [ˈe̞no̞]" },
		{ "S", "eno", "enoj", "/ˈenoi̯/, [ˈe̞no̞i̯]" },
		{ "A", "syän", nil, "/ˈsyæn/, [ˈs̠yæn]" },
		{ "S", "syän", nil, "/ˈsyæn/, [ˈʃyæn]" },
		{ "A", "paljo", nil, "/ˈpɑljo/, [ˈpɑlʲːŏ̞̥]" },
		{ "S", "paljo", nil, "/ˈpɑljo/, [ˈpɑlʲjo̞]" },
		{ "A", "valkia", nil, "/ˈʋɑlkiɑ/, [ˈʋɑɫke̞]" },
		{ "S", "valkia", nil, "/ˈʋɑlkiɑ/, [ˈʋɑɫkiɑ]" },
		{ "A", "näyttää", nil, "/ˈnæy̯tːæː/, [ˈnæy̯tːæ]" },
		{ "S", "näyttää", nil, "/ˈnæy̯tːæː/, [ˈnæy̯tːæː]" },
		{ "A", "leikata", "leikata", "/ˈlei̯kɑtɑ/, [ˈlʲe̞i̯kət]" },
		{ "S", "leikata", "leikata", "/ˈlei̯kɑtɑ/, [ˈle̞i̯ɡ̊ɑd̥ɑ]" },
		{ "A", "toest", "toesta", "/ˈtoestɑ/, [ˈto̞e̞s̠t]" },
		{ "S", "toest", nil, "/ˈtoest/, [ˈto̞e̞ʃt]" },
		{ "A", "latva", nil, "/ˈlɑtʋɑ/, [ˈɫɑtʋ]" },
		{ "S", "latva", nil, "/ˈlɑtʋɑ/, [ˈɫɑd̥ʋɑ]" },
		{ "A", "merkitös", nil, "/ˈmerkitøs/, [ˈme̞rkĭtø̞̆z̠]" },
		{ "S", "merkitös", nil, "/ˈmerkitøs/, [ˈme̞rɡ̊id̥ø̞ʒ̥]" },
		{ "A", "merkitsömmiin", "merkitsömine", "/ˈmerkit͡sømine/, [ˈme̞rkĭˌt͡s̠ø̞min]" },
		{ "S", "merkitsömmiin", "merkitsömiin", "/ˈmerkit͡sømiːn/, [ˈme̞rɡ̊iˌt͡sø̞mˑiːn]" },
		{ "A", "metsä", nil, "/ˈmet͡sæ/, [ˈme̞t͡s̠]" },
		{ "S", "metsä", nil, "/ˈmet͡sæ/, [ˈme̞t͡sæ]" },
		{ "A", "Uus Voos", nil, "/ˈuːs ˈʋoːs/, [ˈuːz̠ ˈʋoːz̠]" },
		{ "S", "Uus Voos", nil, "/ˈuːs ˈʋoːs/, [ˈuːʒ ˈʋo̝ːʒ̥]" },
		{ "A", "iloistaa", "ilojstaa", "/ˈiloi̯stɑː/, [ˈiɫo̞i̯s̠tɑ]" },
		{ "S", "iloistaa", "ilojstaa", "/ˈiloi̯stɑː/, [ˈiɫo̞i̯ʃtɑː]" },
		{ "A", "hapukoitella", "hapukojtella", "/ˈhɑpukoi̯telːɑ/, [ˈhɑpuˌko̞i̯te̞ɫː]" },
		{ "S", "hapukoitella", "hapukojtella", "/ˈhɑpukoi̯telːɑ/, [ˈhɑb̥uˌɡ̊o̞i̯d̥e̞ɫːɑ]" },
		{ "A", "epästyä", "epäst'yä", "/ˈepæstyæ/, [ˈe̞pæs̠ˌtʲyæ]" },
		{ "S", "epästyä", "epäst'yä", "/ˈepæstyæ/, [ˈe̞b̥æʃˌtyæ]" },
		{ "A", "Valja", "Valj'a", "/ˈʋɑlʲɑ/, [ˈʋɑlʲɑ]" },
		{ "S", "Valja", "Valj'a", "/ˈʋɑlʲɑ/, [ˈʋɑlʲɑ]" },
		{ "A", "guljaittaa", "gulj'aittaa", "/ˈɡulʲɑi̯tːɑː/, [ˈɡulʲːətːɑ]" },
		{ "S", "guljaittaa", "gulj'aittaa", "/ˈɡulʲɑi̯tːɑː/, [ˈkulʲˑɑi̯tːɑː]" },
		{ "A", "rublja", "rublj'a", "/ˈrublʲɑ/, [ˈrublʲ]" },
		{ "S", "rublja", "rublj'a", "/ˈrublʲɑ/, [ˈrub̥lʲɑ]" },
		{ "A", "vaaliamp", "vaaliampi", "/ˈʋɑːliɑmpi/, [ˈʋɑːlʲe̞mpʲ]" },
		{ "S", "vaaliamp", "vaaliamp", "/ˈʋɑːliɑmp/, [ˈʋɑːliɑmb̥]" },
		{ "A", "levviämp", "leviämpi", "/ˈleʋiæmpi/, [ˈlʲe̞ʋːe̞mpʲ]" },
		{ "S", "levviämp", "leviämp", "/ˈleʋiæmp/, [ˈle̞ʋˑiæmb̥]" },
		{ "A", "sikiäin", "siki.äjne", "/ˈsiki.æi̯ne/, [ˈs̠iki.əi̯n]" },
		{ "S", "sikiäin", "siki.äin", "/ˈsiki.æi̯n/, [ˈʃiɡ̊i.æi̯n]" },
		{ "A", "sukulain", "sukulajne", "/ˈsukulɑi̯ne/, [ˈs̠ukuɫəi̯n]" },
		{ "S", "sukulain", "sukulain", "/ˈsukulɑi̯n/, [ˈʃuɡ̊uɫɑi̯n]" },
		{ "A", "utjuga", "utj'uga", "/ˈutʲuɡɑ/, [ˈutʲuɡ]" },
		{ "S", "utjuga", "utj'uuga", "/ˈutʲuːɡɑ/, [ˈutʲˑuːɡ̊ɑ]" },
		{ "A", "yksslogain", "yks-slogajne", "/ˈyksˌsloɡɑi̯ne/, [ˈyks̠ˌs̠ɫo̞ɡɑi̯n]" },
		{ "S", "yksslogain", "yks-slogain", "/ˈyksˌsloɡɑi̯n/, [ˈykʃˌʃɫo̞kˑɑi̯n]" },
		{ "A", "varajooni", nil, "/ˈʋɑrɑjoːni/, [ˈʋɑrɑjo̞nʲ]" },
		{ "S", "varajooni", nil, "/ˈʋɑrɑjoːni/, [ˈʋɑrɑˌjo̝ːni]" },
		{ "A", "hyle", nil, "/ˈhyle/, [ˈhylʲe̞]" },
		{ "S", "hyle", nil, "/ˈhyle/, [ˈhyle̞]" },
		{ "S", "liitsatoin", "liitsato/in", "/ˈliːt͡sɑtoi̯n/, [ˈlʲiːt͡sɑd̥o̞i̯n]" },
		{ "A", "taanolliin", "taanolline", "/ˈtɑːnolːine/, [ˈtɑːnŏ̞lʲˌlʲine̞]" },
	}
	
	local options = { display = tag_IPA }
	
	self:iterate(examples,
		function (self, variety_code, term, respelling, expected)
			self:equals(
				link_izh(term)
					.. (respelling and " (<kbd>" .. respelling .. "</kbd>)" or "") .. " (" .. m_izh.get_variety(variety_code) .. ")",
				to_IPA(variety_code, respelling or term),
				expected, options)
		end)
end

return tests