Module:User:Benwing2/ca-IPA/testcases

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

1 of 2 tests failed. (refresh)

TextExpectedActualDiffers atComments
test:
Specific letter combinations
Voicing assimilation before m
Passedabisme, respelled +əˈβiz.məəˈβiz.mə
Passedadmetre, respelled êədˈmɛ.tɾəədˈmɛ.tɾə
Script error during testing: package.lua:80: module 'Module:pattern utilities' not found
stack traceback:
	[C]: ?
	[C]: in function 'error'
	package.lua:80: in function 'load'
	package.lua:99: in function 'require'
	Module:User:Benwing2/ca-IPA:1230: in function 'convert_single_substitution_to_original'
	Module:User:Benwing2/ca-IPA:1312: in function 'apply_substitution_spec'
	Module:User:Benwing2/ca-IPA:1440: in function 'substitute_respelling_word'
	Module:User:Benwing2/ca-IPA:1499: in function 'parse_respelling'
	Module:User:Benwing2/ca-IPA:1874: in function 'test'
	Module:User:Benwing2/ca-IPA/testcases/driver:60: in function <Module:User:Benwing2/ca-IPA/testcases/driver:59>
	...
	[C]: in function 'xpcall'
	Module:UnitTests:369: in function <Module:UnitTests:328>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
	[C]: in function 'expandTemplate'
	mw.lua:333: in function 'expandTemplate'
	Module:documentation:864: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?

local tests = require("Module:UnitTests")
local driver = require("Module:User:Benwing2/ca-IPA/testcases/driver")

--[=[
Each line of the example text is either a high-level header beginning with ###, a subheader beginning with ##, a comment
beginning with #, a blank line or an example. Examples consist of three tab-separated fields, followed by an optional
comment to be shown along with the example (delimited by a # preceded by whitespace). The first field is the actual
spelling of the term in question. The second field is the respelling. The third field is the expected phonemic IPA
pronunciation.

See [[Module:ca-IPA/testcases/driver]] for more detailed information on the format of examples, along with information
on how to create a new subset of testcases.
]=]

local examples = [==[
### Specific letter combinations

## Voicing assimilation before m
abisme	+	əˈβiz.mə
admetre	ê	ədˈmɛ.tɾə
curtmetratge	[úr,àt]	ˌkurd.məˈtɾa.dʒə
sordmut	[só,út]	ˌsordˈmut
sotmetre	ê	sudˈmɛ.tɾə
diferentment	+	di.fəˌɾenˈmen
ammonit	+	əm.muˈnit
apotegma	è	ə.puˈtɛɡ.mə
fragment	+	fɾəɡˈmen
augmentar	+	əwɡ.mənˈta
llargmetratge	+	ˌʎarɡ.məˈtɾa.dʒə
Caixmir	[rr]	kəʒˈmir
algoritme	+	əl.ɣuˈɾid.mə
setmana	[tm:mm]	səmˈma.nə
setmesó	[sè]	ˌsed.məˈzo
tmesi	è	ˈdmɛ.zi
wàttmetre	[w:v]	ˈbad.mə.tɾə
istme	+	ˈiz.mə
dracma	+	ˈdɾaɡ.mə
francmaçó	+	ˌfɾã.məˈso
turcman	+	turɡˈman
Turkmenistan	+	turɡ.mə.nisˈtan
khmer	[érr]	ˈkmer
submarí	+	sum.məɾˈi


## Voicing assimilation before n
hafni	+	ˈav.ni
ovni	ò	ˈɔv.ni
abnegació	+	əm.nə.ɣə.siˈo
subnormal	+	sum.nurˈmal
estibnita	+	əs.timˈni.tə
acne	+	ˈaŋ.nə
aràcnid	+	əˈɾaŋ.nit
electrotècnia	[lè]	əˌlɛk.tɾuˈtɛŋ.ni.ə
pícnic	+	ˈpiŋ.nik
Agnès	+	əŋˈnɛs
cigne	+	ˈsiŋ.nə
apnea	é	əbˈne.ə
dispnea	é	dizmˈne.ə
hipnosi	ò	imˈnɔ.zi
pneumàtic	+	nəwˈma.tik

## Voicing assimilation before l, r
afluent	+	ə.fluˈen
deslleial	+	dəz.ʎəˈjal
becllarg	+	beɡˈʎaɾk
Israel	è	iz.rəˈɛl
sahrauí	+	sə.rəˈwi

## Voicing assimilation before stops
afganès	+	əv.ɣəˈnɛs
dubtar	+	dupˈta

## Elision of consonants in post- (and subsequent voicing assimilation)
postgrau	[òs,àu]	ˌpɔzˈɡɾaw
postguerra	[òs,èr]	ˌpɔzˈɡɛ.rə
postludi	[òs,lú]	ˌpɔzˈlu.ði
posttraumàtic	[òs]	ˌpɔs.tɾəwˈma.tik
presumpció	+	pɾə.zum.siˈo

## Reduction of a/e next to another vowel
preeminent	+	pɾə.ə.miˈnen
meteor	[ôrr]	mə.teˈɔɾ
meteorit	+	mə.te.uˈɾit
aerologia	+	ə.e.ɾu.luˈʒi.ə
aeròmetre	+	ə.eˈɾɔ.mə.tɾə
realista	+	re.əˈlis.tə
neòfit	+	neˈɔ.fit
neolític	+	ne.uˈli.tik

## Sequences of t + m/n/l/ll
setmana	[tm:mm]	səmˈma.nə
setmana	[tm:m]	seˈma.na	val
aritmètic	+	ə.ɾidˈmɛ.tik
aritmètic	+	a.ɾidˈmɛ.tik	val
tmesi	è	ˈdmɛ.zi
tmesi	è	ˈmɛ.zi	val
ametlla	[m:mm,ê]	əmˈmɛʎ.ʎə
ametlla	[ê]	aˈmeʎ.ʎa	val
bitllet	ê	biʎˈʎɛt
bitllet	ê	biˈʎet	val
atlàntic	+	əlˈlan.tik
atlàntic	+	adˈlan.tik	val
decatló	+	də.kəlˈlo
decatló	+	de.kadˈlo	val
motle	ò	ˈmɔl.le	val
vietnamita	+	bi.ən.nəˈmi.tə
vietnamita	+	vi.ed.naˈmi.ta	val
cotna	ó	ˈkon.nə
cotna	ó	ˈkon.na	val
]==]

function tests:check_ipa(spelling, respelling, expected, comment)
	return driver.check_ipa(self, spelling, respelling, expected, comment)
end

function tests:test()
	self:iterate(driver.parse(examples), "check_ipa")
end

return tests