Module:hi-translit/testcases

-- Unit tests for Module:hi-translit. Refresh page to run tests. local tests = require('Module:UnitTests') local hi_translit = require('Module:hi-translit')

function tests:do_test_translit(deva, roman, comment) self:equals(' ' .. mw.ustring.gsub(deva, "%+", "") .. ' ', hi_translit.tr(deva, 'hi', 'Deva'), roman, { comment = comment }) end

local examples = { { 'सँस', 'sãs' }, { 'संस्कार', 'sanskār' }, { 'संविधान', 'samvidhān' }, { 'उसाँस', 'usā̃s' }, { 'मैंने', 'ma͠ine' }, { 'ऊँचाई', "ū̃cāī", "long vowel + nasalizer + unvoiced = nasalization" }, { 'ऊंचाई', "ū̃cāī", "long vowel + nasalizer + unvoiced = nasalization" }, { 'साँप', "sā̃p", "long vowel + nasalizer + unvoiced = nasalization" }, { 'सूँघना', "sūṅghnā", "long vowel + nasalizer + voiced = nasal epenthesis" }, { 'सूंघना', "sūṅghnā", "long vowel + nasalizer + voiced = nasal epenthesis" }, { 'शंका', "śaṅkā", "short vowel + nasalizer = nasal epenthesis" }, { 'अशांत', "aśānt", "long vowel + nasalizer + t = nasal epenthesis" }, { 'सर्व', "sarv", "allowed final geminate" }, { 'अन्न', "ann", "allowed final geminate" }, { 'भिन्न', 'bhinn', 'allowed final geminate' }, { 'बांह', "bā̃h", "nasalized long vowel before aspirate" }, { 'बाँह', "bā̃h", "nasalized long vowel before aspire" }, { 'साँझ', "sāñjh", "nasalized long vowel before palatal" }, { 'बाँटना', "bā̃ṭnā", "nasalized long vowel before retroflex (uncertain if nasal consonant is present or not)" }, { 'चाँपना', 'cā̃pnā', "nasalized long vowel before retroflex (uncertain)" }, { 'प्रमेय', 'pramey', 'final glide has no schwa' }, { 'उपप्रमेय', 'upapramey', 'final glide has no schwa' }, --IPA /ʊp(ə̯)pɾəme(j)/ { 'चायवाला', "cāyvālā", 'glide after long vowel has no schwa' }, { 'डायनासोर', 'ḍāynāsor', 'glide after long vowel has no schwa' }, { 'साँवला', 'sā̃vlā', 'glide after long vowel has no schwa' }, { 'कोयला', 'koylā', 'glide after long vowel has no schwa' }, { 'ज़िंदगी', 'zindagī' }, { 'धड़कने', 'dhaṛakne' }, { 'लपट', 'lapaṭ' }, { 'लपटें', 'lapṭẽ' }, --{ 'जिस्म', 'jism' }, loanword --{ 'ख़त्म', 'xatm' }, loanword { 'उपयोग', 'upyog' }, { 'आलप्पुष़ा', 'ālappuḻā' }, { 'कपड़ा', 'kapṛā' }, { 'नज़दीक', 'nazdīk' }, { 'जुड़वाँ', 'juṛvā̃' }, { 'कॉफ़ी', 'kŏfī' }, { 'फ़िल्म', 'film' }, { 'फ़ावड़ा', 'fāvṛā' }, { 'करना', 'karnā' }, { 'करन', 'karan' }, { 'वस्त्र', 'vastra' }, { 'भस्म', 'bhasma' }, { 'अस्पताल', 'aspatāl' }, { 'उत्तम', 'uttam' }, { 'क़लम', 'qalam' }, { 'देवनागरी', 'devnāgrī' }, { 'नमकीन', 'namkīn' }, { 'वेद', 'ved' }, { 'राम', 'rām' }, { 'रचना', 'racnā' }, { 'अंग्रेज़', 'aṅgrez' }, { 'अंगरेज़', 'aṅgrez' }, { 'विमला', 'vimlā' }, { 'भारतीय', 'bhārtīya' }, { 'समझा', 'samjhā' }, { 'समझ', 'samajh' }, { 'लपटें', 'lapṭẽ' }, { 'लपट', 'lapaṭ' }, { 'सुलोचना', 'sulocnā' }, { 'भारत', 'bhārat' }, { 'दूःख', 'dūḥkh' }, { 'नहीं', 'nahī̃' }, { '।', '.' },	{ 'प्लीज़', 'plīz' }, { 'कृपया', 'kŕpyā' }, { 'मानहानि', 'mānhāni' }, { 'तिरस्कार', 'tiraskār' }, { 'प्रतिबिंब', 'pratibimb' }, { 'सुवर्ण', 'suvarṇ' }, { 'संपत्ति', 'sampatti' }, { 'प्रवेशमार्ग', 'praveśmārg' }, { 'अंतःस्राव', 'antaḥsrāv' }, { 'बहिष्कार', 'bahiṣkār' }, { 'व्यवच्छेद', 'vyavacched' }, { 'जलावतनी', 'jalāvatnī' }, { 'स्वत्व+हरण', 'svatvaharaṇ' }, { 'जब्ती', 'jabtī' }, { 'निस्सारण', 'nissāraṇ' }, { 'मैथमैटिक्स', 'maithmaiṭiks' }, { 'पिक्चर', 'pikcar' }, { 'संगमरमर', 'saṅgmarmar' }, { 'तलवार', 'talvār' }, { 'अलमारी', 'almārī' }, { 'उब्द्रशाला', 'ubdraśālā' }, { 'टमाटर', 'ṭamāṭar' }, { 'पेपरमिंट', 'peparmiṇṭ' }, { 'इंगलिश', 'iṅgliś' }, { 'अन्तर्राष्ट्रीय', 'antarrāṣṭrīya' }, { 'रेफ्रिजरेटर', 'rephrijreṭar' }, { 'रेफरिजरेटर', 'rephrijreṭar' }, { 'रेफ्रिज्रेटर', 'rephrijreṭar' }, { 'रेफरिज्रेटर', 'rephrijreṭar' }, { 'अधिकांश', 'adhikāñś' }, { 'अज़रबैजान', 'azarbaijān' }, { 'अज़र्बैजान', 'azarbaijān' }, { 'अफ्रीका', 'aphrīkā' }, { 'अफरीका', 'aphrīkā' }, { 'अफगानिस्तान', 'aphgānistān' }, { 'अफ्गानिस्तान', 'aphgānistān' }, { 'अफगानिसतान', 'aphgānistān' }, { 'अफ्गानिसतान', 'aphgānistān' }, { 'स्फिंकटर', 'sphiṅkṭar' }, { 'मांडवी', 'māṇḍvī' }, { 'लंपसम', 'lampsam' }, { 'मयराम', 'mayarām' }, { 'मैय्य', 'maiyya' }, { 'रंगद्रव्य', 'raṅgadravya' }, { 'रंगदार', 'raṅgdār' }, --{ 'रंग+पटल', 'raṅgpaṭal' }, --additional functionalities required --{ 'संग+ठन', 'saṅgṭhan' }, { 'उमंगभर', 'umaṅgbhar' }, { 'उमंगहीन', 'umaṅghīn' }, { 'तंगहाल', 'taṅghāl' }, { 'तत्वमीमांसा', 'tatvamīmānsā' }, { 'तनहाई', 'tanhāī' }, { 'त्रिकोणमिति', 'trikoṇmiti' }, { 'दिसम्बर', 'disambar' }, { 'दिसंबर', 'disambar' }, { 'दिसमबर', 'disambar' }, { 'दिलचस्प', 'dilcasp' }, { 'दुरूपयोग', 'durūpyog' }, { 'पचहत्तर', 'pachattar' }, { 'ढ', 'ḍha' }, { 'किंमत', 'kimmat' }, { 'हैं', 'ha͠i' }, { 'डाउनलोड', "ḍāunloḍ" }, { 'इंद्र+धनुष', "indradhanuṣ" }, { 'आगमन', "āgman" }, { 'अनुमति', "anumati" }, { 'सम्मति', "sammati" }, { 'संमति', "sammati" }, { 'मंज़ूर', "manzūr" }, { 'भारतीय', "bhāratīy" }, { 'प्रदेशीय', "pradeśīy" }, { 'नाईं', "nāī̃" }, { 'ख़ुशबुओं', "xuśbuõ" }, { "रहस्य क्या", "rahasya kyā" }, }

function tests:test_translit_hindi self:iterate(examples, "do_test_translit") end return tests