Module:ur-translit/testcases

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

local full_link = require('Module:links').full_link local ur = require('Module:languages').getByCode('ur')

local function link(word) return full_link{ term = word, lang = ur, tr = "-" } end

function tests:do_test_translit(Urdu, roman) self:equals(link(Urdu), ur_translit.tr(Urdu, 'ur', 'ur-Arab'), roman) end

function tests:test_translit_urdu local examples = { { "اِیرانِی", "īrānī"}, { "ماشاءاَللّٰہ", "māśā'allāh"}, { "پَیدائِش", "paidāiś"}, { "بَرْقِیات", "barqiyāt"}, { "عَقْل", "'aql" }, { "عِزَّت", "'izzat" }, { "عَین", "'ain" }, { "عالَم", "'ālam" }, { "عَورَت", "'aurat" }, { "شُرُوع", "śurū'" }, { "اِشْعاع", "iś'ā'" }, { "تَعَلُّقات", "ta'alluqāt" }, { "تَعَلُّق", "ta'alluq" }, { "مُتَعَلِّق", "muta'alliq" }, { "متعلق", nil }, -- this test should fail for the lack of vocalisation { "عُمْر", "'umr" }, { "دَفْعَہ", "daf'a" }, { "بَچَّہ", "bacca" }, { "قُوَّت", "quvvat" }, { "مَۓ عِشْق", "ma-ye 'iśq" }, { "شیرِ پَن٘جاب", "śer-i pañjāb" }, { "مَلْکَۂ دُنْیا", "malka-yi dunyā" }, { "جَمُّوں", "jammū̃"}, { "آم", "ām" }, { "اِشْتِراکِیَّت", "iśtirākiyyat"}, { "سِسَکْنا","sisaknā"}, { "پُل","pul"}, { "عِیسیٰ", "'īsā"}, { "اَعْلیٰ", "a'lā"}, { "لَفْظ","lafz"}, { "حاضِر", "hāzir" }, { "بَہورا", "bahorā"}, { "نَہِیں", "nahī̃"}, { "اِشْتِمالِیَت", "iśtimāliyat"}, { "چَوڑا", "cauṛā" }, { "تِھیں", "thī̃"}, { "کُتّا", "kuttā" }, { "پَہْلے", "pahle"}, { "کِھلائی", "khilāī"}, { "کھلائی", nil },	-- "khl" must be an impossible cluster at the beginning of a word --this one is supposed to fail { "ٹَھہَرْنا", "ṭhaharnā"}, { "تَیمُور", "taimūr"}, { "فَوراً", "fauran"}, { "کوئے", "koe"}, { "مَنَّتوں", "mannatõ"}, { "گان٘وں", "gā̃õ"}, { "مَیں", "ma͠i"}, { "آئی", "āī"}, { "مَکَّھن", "makkhan"}, { "خُدا", "xudā" }, { "کَئی", "kaī" }, { "کُئی", "kuī" }, { "چائے", "cāe" }, { "کُھلْواؤ", "khulvāo" }, { "غَدّار", "ġaddār"}, { "بَیٹھو", "baiṭho"}, { "بَطَّخ", "battax"}, {"مُتَّحِدَۂ", "muttahida-yi"}, { "ساؤُتھ اَفْرِیقَہ", "sāuth afrīqa"}, {"کُلِّیَّہ", "kulliyya"}, {"دائِرَۃُ", "dāiratu"}, { "سُورَۃ", "sūra"}, -- alt form of سُورَہ {"بِلّا", "billā"}, {"دائِرَۃُ الْمَعارِف", "dāiratu l-ma'ārif"}, -- restoring this case, pls check the line below {"دائِرَۃْ اُلْمَعارِف", "dāirah ulma'ārif" }, -- is that a more appropriate spelling? {"آیَتُ اْللّٰہ", "āyatu llāh"}, -- allāh fails when there is a diacritic over alif {"صَیّاد", "saiyād"}, -- testing tashdid on ye		{"گُرْدَہ", "gurda"}, {"کہاں", nil}, -- should fail }	self:iterate(examples, "do_test_translit") end

return tests