Module:mr-IPA/testcases

Wiktionary වෙතින්

3 of 6 tests failed. (refresh)

TextExpectedActualComments
test_all:
Passedओळ (oḷ)oɭ̆oɭ̆ Syllabification: ⟨σ⟩, Word-final, Syllable-final: Vɭ̆
Passedवेळ (veḷ)ʋeɭ̆ʋeɭ̆ Syllabification: ⟨σ⟩, Word-final, Syllable-final: CVɭ̆
Failedदेऊळ (deūḷ)d̪e.uɭ̆d̪euɭ̆ Syllabification: ⟨σσ⟩, Word-final, Syllable-final: Vɭ̆
Script error during testing: attempt to call upvalue 'gcodepoint' (a nil value)
stack traceback:
	[C]: ?
	[C]: in function 'v'
	mw.ustring.lua:84: in function <mw.ustring.lua:80>
	(tail call): ?
	Module:mr-IPA:64: in function 'syllabify'
	Module:mr-IPA:116: in function 'toIPA'
	Module:mr-IPA/testcases:11: in function 'func'
	Module:UnitTests:295: in function 'iterate'
	Module:mr-IPA/testcases:143: in function <Module:mr-IPA/testcases:26>
	(tail call): ?
	[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:877: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActualComments
test_phonetic:
Passed (ū) Final syllable high vowels: Independent, Open syllables
Passedमी ()miːmiː Final syllable high vowels: Diacritic, Open syllables
Passedतू ()t̪uːt̪uː Final syllable high vowels: Diacritic, Open syllables
Script error during testing: attempt to call upvalue 'gcodepoint' (a nil value)
stack traceback:
	[C]: ?
	[C]: in function 'v'
	mw.ustring.lua:84: in function <mw.ustring.lua:80>
	(tail call): ?
	Module:mr-IPA:64: in function 'syllabify'
	Module:mr-IPA:116: in function 'toIPA'
	Module:mr-IPA/testcases:20: in function 'func'
	Module:UnitTests:295: in function 'iterate'
	Module:mr-IPA/testcases:232: in function <Module:mr-IPA/testcases:146>
	(tail call): ?
	[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:877: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?

local tests = require("Module:UnitTests")
local m_IPA = require("Module:mr-IPA")

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

function tests:check_output(term, expected, comment)
	self:equals(
		m_IPA.link(term),
		tag_IPA(m_IPA.toIPA(term, false)),
		tag_IPA(expected),
		{ comment = comment }
	)
end

function tests:check_output_phonetic(term, expected, comment)
	self:equals(
		m_IPA.link(term),
		tag_IPA(m_IPA.toIPA(term, true)),
		tag_IPA(expected),
		{ comment = comment }
	)
end

function tests:test_all()
	examples = {

-- /Broad transcription/

-- Syllabification

-- ळ Syllabification
-- ळ Syllabification: Word-final, Syllable-final, One Syllable ⟨σ⟩
        { "ओळ", "oɭ̆", [=[ [[ळ]] Syllabification: ⟨σ⟩, Word-final, Syllable-final: Vɭ̆]=] },
        { "वेळ", "ʋeɭ̆", [=[ [[ळ]] Syllabification: ⟨σ⟩, Word-final, Syllable-final: CVɭ̆]=] },

-- ळ Syllabification: Word-final, Syllable-final, Two Syllables ⟨σσ⟩
        { "देऊळ", "d̪e.uɭ̆", [=[ [[ळ]] Syllabification: ⟨σσ⟩, Word-final, Syllable-final: Vɭ̆]=] },
        { "केवळ", "ke.ʋəɭ̆", [=[ [[ळ]] Syllabification: ⟨σσ⟩, Word-final, Syllable-final: CVɭ̆]=] },

--  ळ Syllabification: Word-medial, Syllable-final
        { "आळशी", "aɭ̆.ɕi", [=[ [[ळ]] Syllabification: ⟨σσ⟩, Word-medial, Syllable-final: Vɭ̆]=] },
        { "काळजी", "kaɭ̆.d͡ʑi", [=[ [[ळ]] Syllabification: ⟨σσ⟩, Word-medial, Syllable-final: CVɭ̆]=] },

-- ळ Syllabification: Word-medial, Syllable-initial
        { "मुळे", "mu.ɭ̆e", [=[ [[ळ]] Syllabification: ⟨σσ⟩, Word-medial, Syllable-initial: ɭ̆V]=] },
        { "आळस", "a.ɭ̆əs", [=[ [[ळ]] Syllabification: ⟨σσ⟩, Word-medial, syllable-initial: ɭ̆VC]=] },

-- /t͡s/, /d͡z/ syllabification: Word-medial
		{ "डिवच़णे", "ɖi.ʋət͡s.ɳe", [=[ /t͡s/: Word-medial]=] },
		{ "खेच़णे", "kʰet͡s.ɳe", [=[ /t͡s/: Word-medial]=] },
		{ "अंदाज़", "ən.d̪ad͡z", [=[ /d͡z/: Word-final]=] },
		{ "अंदाज़े", "ən.d̪a.d͡ze", [=[ /d͡z/: Word-medial]=] },

        { "अवहेलना", "əʋ.ɦel.na", [=[ Murmur rule in broad transcription: ʋ.ɦ → ʋʱ ]=] },

-- Consonant clusters and geminates

-- Word-final consonant clusters and geminates
		{ "मार्ग", "maɾ.ɡə", [=[ Word-final codas: Consonant clusters]=] },
		{ "खुद्द", "kʰud̪.d̪ə", [=[ Word-final codas: Geminates]=] },

-- Aspirated geminates: orthographic CʰCʰ → phonological CCʰ
        { "अख्खे", "ək.kʰe",  [=[ Aspirated geminates: ख्ख]=] },
        { "पुठ्ठा", "puʈ.ʈʰa", [=[ Aspirated geminates: ठ्ठ]=] },

-- Fundamental tests

-- Vowels

-- Non-word-final ई, ऊ
		{ "ईशान्य", "i.ɕan.jə", [=[ Non-word-final [[ई]], [[ऊ]]: [[ई]] Independent ]=] },
		{ "ऊर्फ", "uɾ.pʰə", [=[ Non-word-final [[ई]], [[ऊ]]: [[ऊ]] Independent ]=] },
		{ "श्रीमंत", "ɕɾi.mən.t̪ə", [=[ Non-word-final [[ई]], [[ऊ]]: [[ई]] Diacritic ]=] },
		{ "पूर्ण", "puɾ.ɳə", [=[ Non-word-final [[ई]], [[ऊ]]: [[ऊ]] Diacritic ]=] },

-- Diphthongs
        { "ऐक", "əik", [=[ Diphthongs: [[ऐ]] Independent, Stem of [[ऐकणे]]]=] },
        { "हौस", "ɦəus", [=[ Diphthongs: [[औ]] Diacritic]=] },

-- ऋ
        { "ऋण", "ɾuɳ", [=[ [[ऋ]]: Independent]=] },
        { "कृपा", "kɾu.pa", [=[ [[ऋ]]: Diacritic]=] },

-- Consonants

-- ल
        { "लाल", "lal", [=[ [[ल]]: Checks if [[ल]] is /l/ or /l̪/]=]},

-- ऱ् (Eyelash र)
        { "ऱ्हास", "ɾʱas", [=[ Eyelash र: Word-initial ऱ्ह]=] },
        { "गोऱ्हा", "ɡo.ɾʱa", [=[ Eyelash र: Word-medial ऱ्ह]=] },
        { "दऱ्या", "d̪ə.ɾja", [=[ Eyelash र: /ɾ/ moves to following syllable, Plural of [[दरी]]]=] },
        { "दर्या", "d̪əɾ.ja", [=[ Eyelash र: For comparison with दऱ्या]=] }, 

-- /ŋ/: Velar nasal
        { "सांग", "saŋ.ɡə", [=[ /ŋ/: Stem-final, Stem of [[सांगणे]]]=] },
        { "कंगवा", "kəŋ.ɡʋa", [=[ /ŋ/: Word-medial]=] },
        { "पलंग", "pə.ləŋ.ɡə",  [=[ /ŋ/: Word-final]=] },

-- Spelt mumured consonants: न्ह, म्ह, ल्ह, व्ह
        { "न्हावी", "nʱa.ʋi", [=[ Spelt mumured consonants: Word-initial न्ह]=] },
        { "तान्हा", "t̪a.nʱa", [=[ Spelt mumured consonants: Word-medial न्ह]=] },
        { "म्हण", "mʱəɳ", [=[ Spelt mumured consonants: Word-initial म्ह]=] },
        { "आम्ही", "a.mʱi", [=[ Spelt mumured consonants: Word-medial म्ह]=] },
        { "जिल्हा", "d͡ʑi.lʱa", [=[ Spelt mumured consonants: Word-medial ल्ह]=] },
        { "व्हा", "ʋʱa", [=[ Spelt mumured consonants: Word-initial व्ह]=] },
        { "नव्हे", "nə.ʋʱe", [=[ Spelt mumured consonants: Word-medial व्ह]=] },

-- य 
-- य: Word-final
        { "काय", "kaj", [=[ [[य]]: ⟨σ⟩, Word-final, Syllable-final: Vj]=] },
        { "उदय", "u.d̪əj", [=[ [[य]]: ⟨σσ⟩, Word-final, Syllable-final: CVj]=] },

-- य: Word-medial
        { "आयते", "aj.t̪e", [=[ [[य]]: ⟨σσ⟩, Word-medial, Syllable-final: Vj]=] },
        { "फायदा", "pʰaj.d̪a", [=[ [[य]]: ⟨σσ⟩, Word-medial, Syllable-final: CVj]=] },
        { "नायक", "na.jək", [=[ [[य]]: ⟨σσ⟩, Word-medial, Syllable-initial: jVC]=] },

-- ज्ञ
		{ "ज्ञान", "d̪njan", [=[ [[ज्ञ]]: Word-initial]=] },
		{ "आज्ञा", "ad̪.nja", [=[ [[ज्ञ]]: Word-medial]=] },

-- ह: Word-final 
		{ "मोह", "moɦ", [=[ [[ह]]: ⟨σ⟩, Word-final]=] },

-- English borrowings (See [[MOD:mr-translit]] for details)
        { "ॲप्", "æp", [=[ English: [[ॲ]] Independent, [[app]]]=] },
        { "ऍप्", "æp", [=[ English: [[ऍ]] Independent, [[app]]]=] },
        { "ऑस्ट्रेलिया", "ɔs.ʈɾe.li.ja", [=[ English: [[ऑ]] Independent, [[Australia]] ]=] },
        { "बॅट", "bæʈ", [=[ English: [[ॲ]] Diacritic, [[bat]]]=] },
        { "कॉट", "kɔʈ", [=[ English: [[ऑ]] Diacritic, [[cot]]]=] },
        { "बँक्", "bæŋk", [=[ English: [[अँ]] Diacritic, [[bank]]]=] }, 
        { "ऑगस्ट्", "ɔ.ɡəsʈ", [=[ English: Syllable-final CC, [[August]] ]=] },
        { "काँग्रेस", "kɔŋ.ɡɾes", [=[ English: आँ Diacritic, [[Congress]], Hindi [[कांग्रेस]] ]=] },
        { "हाँग्-काँग्", "ɦɔŋɡ‿kɔŋɡ", [=[ English: Multiword term [[Hong Kong]], Hindi [[हांग कांग]] ]=] }, 
        
}--[[	Copy the following to add more examples:
		{ "", "" },
]]
	
	tests:iterate(examples, "check_output")
end

function tests:test_phonetic()
	examples = {

-- [Narrow transcription]

-- Final syllable high vowels

-- Open syllables
        { "ऊ", "uː", [=[ Final syllable high vowels: [[ऊ]] Independent, Open syllables ]=] },
		{ "मी", "miː", [=[ Final syllable high vowels: [[ई]] Diacritic, Open syllables ]=] },
        { "तू", "t̪uː", [=[ Final syllable high vowels: [[ऊ]] Diacritic, Open syllables ]=] },
        { "आणि", "a.ɳiː", [=[ Final syllable high vowels: [[इ]] Diacritic, Open syllables ]=]  },
        { "परंतु", "pə.ɾən.t̪uː", [=[ Final syllable high vowels: [[उ]] Diacritic, Open syllables ]=]  },

-- Closed syllables
        { "उत", "uːt̪", [=[ Final syllable high vowels: [[उ]] Independent, Closed syllables ]=]  },
        { "तपशील", "t̪əp.ɕiːl", [=[ Final syllable high vowels: [[ई]] Diacritic, Closed syllables ]=]  },
        { "कबूल", "kə.buːl", [=[ Final syllable high vowels: [[ऊ]] Diacritic, Closed syllables ]=]  },
        { "गणित", "ɡə.ɳiːt̪", [=[ Final syllable high vowels: [[इ]] Diacritic, Closed syllables ]=]  },
        { "खुश", "kʰuːɕ", [=[ Final syllable high vowels: [[उ]] Diacritic, Closed syllables ]=]  },

-- Murmur rule and ɦ-deletion in the environment CV₁_[V₂, C₂]

-- Murmur rule: result has Cʱ
-- C murmur class = /m/, /n/, /l/, /ʋ/, /ɾ/, /d͡ʑ/, d͡z, /d̪/, /b/
-- V₁ = /ə/, /a/

-- V₂ = /i/, /u/
        { "दही", "d̪ʱəiː", [=[ Murmur rule: Cə_i → Cʱəi, C = /d̪/ ]=] },
        { "बहीण", "bʱəiːɳ", [=[ Murmur rule: Cə_i → Cʱəi, C = /b/, Konkani [[भैण]] ]=] },
        { "वहिणी", "ʋʱəi.ɳiː", [=[ Murmur rule: Cə_i → Cʱəi, C = /ʋ/ ]=] },
        { "बहुतेक", "bʱəu.t̪ek", [=[ Murmur rule: Cə_u → Cʱəu]=] },
        { "जाहिरात", "d͡ʑʱai.ɾat̪", [=[ Murmur rule: Ca_i → Cʱai]=] },
        { "बाहुली", "bʱau.liː", [=[ Murmur rule: Ca_u → Cʱau]=] },

-- V₁ ≠ /ə/, /a/, V₂ = /ə/
        { "मनोहर", "mə.nʱoɾ", [=[ Murmur rule: C[≠ /ə/, /a/]ɦə → Cʱ[≠ /ə/, /a/] ]=] },
        { "बेहद्द", "bʱed̪.d̪ə", [=[ Murmur rule: C[≠ /ə/, /a/]ɦə → Cʱ[≠ /ə/, /a/] ]=] },

-- [V₂, C₂] ≠ /i/, /u/, /o/
        { "ज़हाज़", "d͡zʱad͡z", [=[ Murmur rule: Cə_[≠ /i/, /u/, /o/] → Cʱ[≠ /i/, /u/, /o/], C = /d͡z/, V₂ = /a/ ]=] }, 
        { "दहा", "d̪ʱa",  [=[ Murmur rule: Cə_[≠ /i/, /u/, /o/] → Cʱ[≠ /i/, /u/, /o/], C = /d̪/, V₂ = /a/, Konkani [[धा]] ]=] },
        { "उदाहरण", "u.d̪ʱa.ɾəɳ",  [=[ Murmur rule: Ca_[≠ /i/, /u/, /o/ → Cʱ[≠ /i/, /u/, /o/], C = /d̪/, C₂ = /ɾ/ ]=] },
        { "नाहणे", "nʱa.ɳe", [=[ Murmur rule: Ca_[≠ /i/, /u/, /o/ → Cʱ[≠ /i/, /u/, /o/], C = /n/, C₂ = /ɳ/ ]=] },
        { "बाहेर", "bʱa.eɾ", [=[ Murmur rule: Ca_[≠ /i/, /u/, /o/ → Cʱ[≠ /i/, /u/, /o/], C = /b/, V₂ = /e/ ]=] },
        { "मेहेरबानी", "mʱeɾ.ba.niː", [=[ Murmur rule: Ca_[≠ /i/, /u/, /o/ → Cʱ[≠ /i/, /u/, /o/], C = /m/, V₁ = V₂ = /e/ ]=] },
        { "मोहीम", "mʱo.iːm", [=[ Murmur rule: Ca_[≠ /i/, /u/, /o/ → Cʱ[≠ /i/, /u/, /o/], C = /m/, V₁ = /o/, V₂ = /i/ ]=] },
        { "राहणे", "ɾʱa.ɳe", [=[ Murmur rule: Ca_[≠ /i/, /u/, /o/ → Cʱ[≠ /i/, /u/, /o/], C = /ɾ/, C₂ = /ɳ/ ]=] },
        { "लिहिणे", "lʱi.ɳe", [=[ Murmur rule: Ca_[≠ /i/, /u/, /o/ → Cʱ[≠ /i/, /u/, /o/], C = /l/, V₁ = V₂ = /i/ ]=] },
        { "वाहणे", "ʋʱa.ɳe", [=[ Murmur rule: Ca_[≠ /i/, /u/, /o/ → Cʱ[≠ /i/, /u/, /o/], C = /ʋ/, C₂ = /ɳ/ ]=] },
        { "लहान", "lʱan", [=[ Murmur rule: Cə_[≠ /i/, /u/, /o/] → Cʱ[ ≠ /i/, /u/, /o/], C = /l/, V₂ = /a/, Konkani [[लान]] ]=] },

-- ɦ-deletion: ɦ → ∅ 
-- C ≠ C murmur class

-- V₁ = /ə/, /a/, V₂ = /i/, /u/

        { "पहिले", "pəi.le", [=[ ɦ-deletion: ɦ → ∅ / Cə_i ]=] },
        { "सही", "səiː", [=[ ɦ-deletion: ɦ → ∅ / Cə_i ]=] },
 		{ "गहू", "ɡəuː", [=[ ɦ-deletion: ɦ → ∅ / Cə_u ]=] },
        { "काही", "kaiː", [=[ ɦ-deletion: ɦ → ∅ / Ca_i ]=] },
        { "पाहुणा", "pau.ɳa", [=[ ɦ-deletion: ɦ → ∅ / Ca_u ]=] },

-- V₁ = /ə/, /a/, V₂ ≠ /i/, /u/, /o/
        { "तहान", "t̪an", [=[ ɦ-deletion: ə, ɦ → ∅ / Cəɦ[≠ /i/, /u/, /o/], V₂ = /a/, Konkani [[तान]] ]=] },
        { "शहर", "ɕəɾ",  [=[ ɦ-deletion: ə, ɦ → ∅ / Cəɦ[≠ /i/, /u/, /o/], C = /ɕ/, V₂ = /ə/ ]=] },
        { "सहन", "sən",  [=[ ɦ-deletion: ə, ɦ → ∅ / Cəɦ[≠ /i/, /u/, /o/], C = /s/, V₂ = /ə/ ]=] },
        { "साहेब", "sa.eb", [=[ ɦ-deletion: a, ɦ → ∅ / Ca[≠ /i/, /u/, /o/]ɦ ]=] },

-- V₁ ≠ /ə/, /a/, V₂ = /ə/
        { "पेहलवान", "pel.ʋan", [=[ ɦ-deletion: ɦə → ∅ / C[≠ /ə/, /a/]_ə, ɦ-deleted spelling: [[पेलवान]] ]=] },

-- [V₂, C₂] ≠ /ə/, /i/, /u/, /o/
        { "सहमत", "sə.mət̪", [=[ ɦ-deletion: ɦ → ∅ / C[≠ /ə/, /a/]_[≠ /ə/], V₁ = /ə/, C₂ = /m/ ]=] },
        { "चेहरा", "t͡ɕe.ɾa", [=[ ɦ-deletion: ɦ → ∅ / C[≠ /ə/, /a/]_[≠ /ə/], V₁ = /e/, C₂ = /ɾ/ ]=] },
        { "पाहणे", "pa.ɳe", [=[ ɦ-deletion: ɦ → ∅ / C[≠ /ə/, /a/]_[≠ /ə/], V₁ = /a/, C₂ = /ɳ/ ]=] },

-- /t͡sʰ/: Any sequence of /ts/ → /t͡sʰ/
        { "वत्स", "ʋə.t͡sʰə", [=[ /t͡sʰ/: Word-final ]=] },
        { "मत्सर", "mə.t͡sʰəɾ", [=[ /t͡sʰ/: Word-medial ]=] },
        { "उत्साह", "u.t͡sʰa", [=[ /t͡sʰ/: Word-medial with ɦ-deletion ]=] },

-- ज्ञ
		{ "ज्ञान", "njan", [=[ [[ज्ञ]]: Word-initial]=] },
}
	
	tests:iterate(examples, "check_output_phonetic")
end

return tests
"https://si.wiktionary.org/w/index.php?title=Module:mr-IPA/testcases&oldid=165624" වෙතින් සම්ප්‍රවේශනය කෙරිණි