Module:eo-pron/testcases

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

29 of 85 tests failed. (refresh)

TextExpectedActual
test_pron:
FailedIPA: aĉeti/aˈt͡ʃeti/[aˈt͡ʃeti]
FailedIPA: alkohola/alkoˈhola/[alkoˈhola]
FailedIPA: Eŭropo/ewˈropo/[ewˈropo]
FailedIPA: facila/faˈt͡sila/[faˈt͡sila]
FailedIPA: honoro/hoˈnoro/[hoˈnoro]
FailedIPA: familio/famiˈlio/[famiˈlio]
FailedIPA: mi/mi/[mi]
FailedIPA: b/bo/[bo]
FailedIPA: ĥ/xo/[xo]
FailedIPA: ĉ/t͡ʃo/[t͡ʃo]
FailedIPA: a/a/[a]
FailedIPA: u/u/[u]
FailedIPA: ŭ/wo/[wo]
FailedIPA: ili/ˈili/[ˈili]
FailedIPA: borantajn/boˈrantajn/[boˈrantajn]
FailedIPA: Rio-de-Ĵanejro/ˈrio de ʒaˈnejro/[ˈrio de ʒaˈnejro]
FailedIPA: eklipsi/eˈklipsi/[eˈklipsi]
FailedIPA: feldspato/feldsˈpato/[feldsˈpato]
FailedIPA: vandalismo/vandaˈlismo/[vandaˈlismo]
FailedIPA: eksplodo/eksˈplodo/[eksˈplodo]
FailedIPA: k.t.p./ko to po/[ko to po]
FailedIPA: T-ĉemizo/to t͡ʃeˈmizo/[to t͡ʃeˈmizo]
FailedIPA: ludejo/luˈdejo/[luˈdejo]
FailedIPA: ŭonbulismo/wonbuˈlismo/[wonbuˈlismo]
FailedIPA: ŭaŭ/waw/[waw]
FailedIPA: poŭpo/ˈpowpo/[ˈpowpo]
FailedIPA: ankaŭ/ˈankaw/[ˈankaw]
FailedIPA: jam temp' está/jam temp esˈta/[jam temp est]
PassedLetters: belab-e-l-ab-e-l-a
PassedLetters: ajaŭejeŭojuja-j-a-ŭ-e-j-e-ŭ-o-j-u-ja-j-a-ŭ-e-j-e-ŭ-o-j-u-j
PassedLetters: auja-u-ja-u-j
PassedLetters: ujau-j-au-j-a
PassedLetters: fujaff-u-j-a-ff-u-j-a-f
PassedLetters: AAA
PassedLetters: ludejol-u-d-e-j-ol-u-d-e-j-o
PassedHyphenation: belabe‧labe‧la
PassedHyphenation: domojdo‧mojdo‧moj
PassedHyphenation: knabojkna‧bojkna‧boj
PassedHyphenation: gvidigvi‧digvi‧di
PassedHyphenation: tablota‧blota‧blo
PassedHyphenation: akraa‧kraa‧kra
PassedHyphenation: agrablaa‧gra‧blaa‧gra‧bla
PassedHyphenation: suspektisus‧pek‧tisus‧pek‧ti
PassedHyphenation: ekzistiek‧zis‧tiek‧zis‧ti
PassedHyphenation: ekzamenoek‧za‧me‧noek‧za‧me‧no
PassedHyphenation: ekzemploek‧zem‧ploek‧zem‧plo
PassedHyphenation: esceptees‧cep‧tees‧cep‧te
PassedHyphenation: anglaan‧glaan‧gla
PassedHyphenation: fingrofin‧grofin‧gro
PassedHyphenation: svingisvin‧gisvin‧gi
PassedHyphenation: longalon‧galon‧ga
PassedHyphenation: dungidun‧gidun‧gi
PassedHyphenation: ekskursoeks‧kur‧soeks‧kur‧so
PassedHyphenation: eksplodieks‧plo‧dieks‧plo‧di
PassedHyphenation: ellaboriel‧la‧bo‧riel‧la‧bo‧ri
PassedHyphenation: forrajdifor‧raj‧difor‧raj‧di
PassedHyphenation: alkoholaal‧ko‧ho‧laal‧ko‧ho‧la
PassedHyphenation: familiofa‧mi‧li‧ofa‧mi‧li‧o
PassedHyphenation: aboliciia‧bo‧li‧ci‧ia‧bo‧li‧ci‧i
PassedHyphenation: biokomputikobi‧o‧kom‧pu‧ti‧kobi‧o‧kom‧pu‧ti‧ko
PassedHyphenation: AAA
PassedHyphenation: bombusbom‧busbom‧bus
PassedHyphenation: strikostri‧kostri‧ko
PassedHyphenation: Centr-Afrika RespublikoCen‧tr A‧fri‧ka Res‧pu‧bli‧koCen‧tr A‧fri‧ka Res‧pu‧bli‧ko
PassedHyphenation: GeorgoGe‧or‧goGe‧or‧go
PassedHyphenation: lunlumonlun‧lu‧monlun‧lu‧mon
FailedHyphenation: vespersteloves‧per‧ste‧loves‧pers‧te‧lo
PassedHyphenation: ŭonbulismoŭon‧bu‧lis‧moŭon‧bu‧lis‧mo
PassedHyphenation: ankaŭan‧kaŭan‧kaŭ
PassedHyphenation: najlonaj‧lonaj‧lo
PassedHyphenation: antaŭenan‧taŭ‧enan‧taŭ‧en
PassedHyphenation: antaŭirian‧taŭ‧i‧rian‧taŭ‧i‧ri
PassedHyphenation: antaŭaan‧taŭ‧aan‧taŭ‧a
PassedHyphenation: antaŭuan‧taŭ‧uan‧taŭ‧u
PassedHyphenation: antaŭoan‧taŭ‧oan‧taŭ‧o
PassedRhyme: knaboaboabo
PassedRhyme: frataataata
PassedRhyme: Afganistanoanoano
PassedRhyme: aliancanoanoano
PassedRhyme: ekspedicianoanoano
PassedRhyme: feldspatoatoato
PassedRhyme: biokomputikoikoiko
PassedRhyme: belaelaela
PassedRhyme: novaĵojaʒojaʒoj
PassedRhyme: Rio-de-Ĵanejroejroejro

local tests = require('Module:UnitTests')
local m_eo_ipa = require('Module:eo-pron')

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

local function link(word)
	return '<i class="mention Latn" lang="eo">[[' .. word .. '#Esperanto|' .. word .. ']]</i>'
end

function tests:check_ipa(word, expected, artificial)
	return self:equals(
		'IPA: ' .. link(word),
		format_ipa(m_eo_ipa.IPA(word)), format_ipa(expected)
	)
end

function tests:check_hyphenation(word, expected, artificial)
	return self:equals(
		'Hyphenation: ' .. link(word),
		m_eo_ipa.hyphenation(word), expected)
end

function tests:check_letters(word, expected, artificial)
	return self:equals(
		'Letters: ' .. link(word),
		m_eo_ipa.letters(word), expected)
end

function tests:check_rhyme(word, expected, artificial)
	return self:equals(
		'Rhyme: ' .. link(word),
		m_eo_ipa.rhyme(word), expected)
end

function tests:check_ipa_artif(word, expected, artificial)
	return self:equals(
		'<code>' .. word .. '</code>',
		format_ipa(m_eo_ipa.IPA(word)), format_ipa(expected)
	)
end

function tests:test_pron()
	local examples1 = {
		{ 'aĉeti', '/aˈt͡ʃeti/' },
		{ 'alkohola', '/alkoˈhola/' },
		{ 'Eŭropo', '/ewˈropo/' },
		{ 'facila', '/faˈt͡sila/' },
		{ 'honoro', '/hoˈnoro/' },
		{ 'familio', '/famiˈlio/' },
		{ 'mi', '/mi/' },
		{ 'b', '/bo/' },
		{ 'ĥ', '/xo/' },
		{ 'ĉ', '/t͡ʃo/' },
		{ 'a', '/a/' },
		{ 'u', '/u/' },
		{ 'ŭ', '/wo/' },
		{ 'ili', '/ˈili/' },
		{ 'borantajn', '/boˈrantajn/' },
		{ 'Rio-de-Ĵanejro', '/ˈrio de ʒaˈnejro/' },
		{ 'eklipsi', '/eˈklipsi/' },
		{ 'feldspato', '/feldsˈpato/' },
		{ 'vandalismo', '/vandaˈlismo/' },
		{ 'eksplodo', '/eksˈplodo/' },
		{ 'k.t.p.', '/ko to po/' },
		{ 'T-ĉemizo', '/to t͡ʃeˈmizo/' },
		{ 'ludejo', '/luˈdejo/' },
		{ 'ŭonbulismo', '/wonbuˈlismo/' },
		{ 'ŭaŭ', '/waw/' },
		{ 'poŭpo', '/ˈpowpo/' },
		{ 'ankaŭ', '/ˈankaw/' },
		{ "jam temp' está", "/jam temp esˈta/" },
	}
	
	self:iterate(examples1, 'check_ipa')
	
	local examples2 = {
		{ 'bela', 'b-e-l-a' },
		{ 'ajaŭejeŭojuj', 'a-j-a-ŭ-e-j-e-ŭ-o-j-u-j' },
		{ 'auj', 'a-u-j' },
		{ 'uja', 'u-j-a' },
		{ 'fujaf', 'f-u-j-a-f' },
		{ "A", 'A' },
		{ "ludejo", "l-u-d-e-j-o" },
	}
	
	self:iterate(examples2, 'check_letters')
	
	local examples3 = {
		{ 'bela', 'be‧la' },
		{ 'domoj', 'do‧moj' },
		{ 'knaboj', 'kna‧boj' },
		{ 'gvidi', 'gvi‧di' },
		{ 'tablo', 'ta‧blo' },
		{ 'akra', 'a‧kra' },
		{ 'agrabla', 'a‧gra‧bla' },
		{ 'suspekti', 'sus‧pek‧ti' },
		{ 'ekzisti', 'ek‧zis‧ti' },
		{ 'ekzameno', 'ek‧za‧me‧no' },
		{ 'ekzemplo', 'ek‧zem‧plo' },
		{ 'escepte', 'es‧cep‧te' },
		{ 'angla', 'an‧gla' },
		{ 'fingro', 'fin‧gro' },
		{ 'svingi', 'svin‧gi' },
		{ 'longa', 'lon‧ga' },
		{ 'dungi', 'dun‧gi' },
		{ 'ekskurso', 'eks‧kur‧so' },
		{ 'eksplodi', 'eks‧plo‧di' },
		{ 'ellabori', 'el‧la‧bo‧ri' },
		{ 'forrajdi', 'for‧raj‧di' },
		{ 'alkohola', 'al‧ko‧ho‧la' },
		{ 'familio', 'fa‧mi‧li‧o' },
		{ 'abolicii', 'a‧bo‧li‧ci‧i' },
		{ 'biokomputiko', 'bi‧o‧kom‧pu‧ti‧ko' },
		{ 'A', 'A' },
		{ 'bombus', 'bom‧bus' },
		{ 'striko', 'stri‧ko' },
		{ 'Centr-Afrika Respubliko', 'Cen‧tr A‧fri‧ka Res‧pu‧bli‧ko' },
		{ 'Georgo', 'Ge‧or‧go' },
		{ 'lunlumon', 'lun‧lu‧mon' },
		{ 'vesperstelo', 'ves‧per‧ste‧lo' },
		{ 'ŭonbulismo', 'ŭon‧bu‧lis‧mo' }, 
		{ 'ankaŭ', 'an‧kaŭ' },
		{ 'najlo', 'naj‧lo' },
		{ 'antaŭen', 'an‧taŭ‧en' },
		{ 'antaŭiri', 'an‧taŭ‧i‧ri' },
		{ 'antaŭa', 'an‧taŭ‧a' },
		{ 'antaŭu', 'an‧taŭ‧u' },
		{ 'antaŭo', 'an‧taŭ‧o' },
	}
	
	self:iterate(examples3, 'check_hyphenation')
	
	local examples4 = {
		{ 'knabo', 'abo' },
		{ 'frata', 'ata' },
		{ 'Afganistano', 'ano' },
		{ 'aliancano', 'ano' },
		{ 'ekspediciano', 'ano' },
		{ 'feldspato', 'ato' },
		{ 'biokomputiko', 'iko' },
		{ 'bela', 'ela' },
		{ 'novaĵoj', 'aʒoj' },
		{ 'Rio-de-Ĵanejro', 'ejro' },
	}
	
	self:iterate(examples4, 'check_rhyme')
end

return tests