Module:sandbox/fa-IPA/testcases

Hello, you have come here looking for the meaning of the word Module:sandbox/fa-IPA/testcases. In DICTIOUS you will not only get to know all the dictionary meanings for the word Module:sandbox/fa-IPA/testcases, but we will also tell you about its etymology, its characteristics and you will know how to say Module:sandbox/fa-IPA/testcases in singular and plural. Everything you need to know about the word Module:sandbox/fa-IPA/testcases you have here. The definition of the word Module:sandbox/fa-IPA/testcases will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofModule:sandbox/fa-IPA/testcases, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.

Module error: No such module "fa-IPA/sandbox/testcases".


local tests = require("Module:UnitTests")
local m_IPA = require("Module:fa-IPA/sandbox")

local sc_fa = require("Module:scripts").getByCode("fa-Arab")
local sc_tg = require("Module:scripts").getByCode("Cyrl")
local lang_fa = require("Module:languages").getByCode("fa")
local lang_tg = require("Module:languages").getByCode("tg")

local options = { display = tag_IPA, show_difference = true }

function link(term)
    return require("Module:links").full_link {
        term = term,
        lang = lang_fa,
        sc = sc_fa
    }
end

function link_tg(term)
    return require("Module:links").full_link {
        term = term,
        lang = lang_tg,
        sc = sc_tg
    }
end

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

function tests:check_output_fa(term, romanisation, expected)
	self:equals(
		link(term),
		tag_IPA(m_IPA.fa_IPA(romanisation, false)),
		tag_IPA(expected),
		options
	)
end

function tests:check_output_fa_phonetic(term, romanisation, expected)
	self:equals(
		link(term),
		tag_IPA(m_IPA.fa_IPA(romanisation, true)),
		tag_IPA(expected),
		options
	)
end

function tests:check_output_fa_cls(term, romanisation, expected)
	self:equals(
		link(term),
		tag_IPA(m_IPA.fa_cls_IPA(romanisation)),
		tag_IPA(expected)
	)
end

function tests:check_output_tg(term, romanisation, expected)
	self:equals(
		link_tg(term),
		tag_IPA(m_IPA.tg_IPA(romanisation)),
		tag_IPA(expected),
		options
	)
end

function tests:check_output_prs(term, romanisation, expected)
	self:equals(
		link(term),
		tag_IPA(m_IPA.prs_IPA(romanisation)),
		tag_IPA(expected),
		options
	)
end

function tests:test_classical_persian()
	examples = {
		{ "سانسکریت", "sānskrīt", "sɑːns.kᵊ.ɾiːt"},-- complex syllabification test
		{ "خوش", "xwaš", "xʷaʃ"},
		{ "خواب", "xwāb", "xʷɑːβ"},
		{ "ابرنواختر", "abarnaw.ax`tar", "ʔa.βaɾ.naw.ʔax.ˈtaɾ"},
		{ "ابراهیم", "ibrā`hīm", "ʔiβ.ɾɑː.ˈhiːm"},
		{ "امام", "i`mām", "ʔi.ˈmɑːm"},
		{ "پیشوا", "pēš`vā", "peːʃ.ˈwɑː"},
		{ "نو", "naw", "naw"},
		{ "مستعمره", "musta'ma`ra", "mus.taʔ.ma.ˈɾa"},
		{ "آزاد", "ā`zād", "ʔɑː.ˈzɑːð"},
		{ "دادن", "dā`dan", "dɑː.ˈðan"},
		{ "قول", "qawl", "qawl"},
		{ "دولت", "dawlat", "daw.lat"},
		{ "آخور", "āxwar", "ʔɑː.xʷaɾ"},
		{ "لغو", "lağw", "laɣw"},
		{ "معتدل", "mu'tadil", "muʔ.ta.ðil"},
		{ "خوی", "xway", "xʷaj"},
		{ "خوید", "xwēd", "xʷeːð"},
	}
--[[	Copy the following to add more examples:
		{ "", "", ""},
]]
	
	tests:iterate(examples, "check_output_fa_cls")
end

function tests:test_dari_persian()
	examples = {
		{ "خوش", "xwaš", "xʊʃ"},
		{ "خواب", "xwāb", "xɑːb"},
		{ "خواهر", "`xʷā.har", "xʷɑ́ː.ɦäɾ"},
		{ "ابرنواختر", "abarnaw.ax`tar", "ʔä.bäɾ.näw.ʔäx.t̪ʰǽɾ"},
		{ "ابراهیم", "ibrā`hīm", "ʔɪb.ɾɑː.ɦíːm"},
		{ "امام", "i`mām", "ʔɪ.mɑ́ːm"},
		{ "پیشوا", "pēš`vā", "pʰeːʃ.wɑ́ː"},
		{ "نو", "naw", "näw"},
		{ "مستعمره", "musta'ma`ra", "mʊs.t̪ʰäʔ.mä.ɾǽ"},
		{ "آزاد", "ā`zād", "ʔɑː.zɑ́ːd̪"},
		{ "قول", "qawl", "qäwl"},
		{ "دولت", "dawlat", "d̪äw.lät̪"},
		{ "آخور", "āxwar", "ʔɑː.xʊɾ"},
		{ "لغو", "lağw", "läɣw"},
		{ "گور", "gawr", "ɡäwɾ"},
		{ "معتدل", "mu'tadil", "mo̞ʔ.t̪ʰä.d̪ɪl"},
		{ "خوی", "xway", "xʊj"},
		{ "خوید", "xwēd", "xeːd̪"},
	}
--[[	Copy the following to add more examples:
		{ "", "", ""},
]]
	
	tests:iterate(examples, "check_output_prs")
end

--[[	Copy the following to add more examples:
		{ "", "", ""},
]]



function tests:test_phonetic_iranian_persian()
	examples = {
		{ "توپ", "tōp", "t̪ʰuːp"},
		{ "دبستان", "dabis.tān", "d̪æ.bes.t̪ʰɒːn"},
		{ "کار", "kār", "kʰɒːɹ"},
		{ "کمی", "`kamē", "cʰǽ.miː"},
		{ "گیج", "gēj", "ɟiː.d̥͡ʒ̥"},
		{ "گل", "gul", "ɡ̥ol̥"},
		{ "چند", "čand", "t͡ʃʰæn̪d̪̥"},
		{ "کتابچه", "kitābča", "cʰe.t̪ʰɒːb.t͡ʃʰe"},
		{ "سگ", "sag", "sæɟ̥"},
		{ "عشق", "išq", "ʔeʃq"},
		{ "قلب", "qalb", "qælb̥"},
		{ "غزال", "ğazāl", "qæ.zɒːl̥"},
		{ "گاو", "gāw", "ɡ̥ɒːv"},
		{ "موسیقی", "mūsīqī", "muː.siː.ʁiː"},
		{ "نقطه", "nuqta", "nox.t̪ʰe"},
		{ "آهنگ", "āhang", "ʔɒː.ɦæɲɟ̥"},
		{ "سمفونی", "samfunī", "sæɱ.fo.niː"},
		{ "زنبور", "zanbūr", "zæm.buːɹ"},
		{ "انواع", "anwā'", "ʔæɱ.vɒːʔ"},
		{ "انگور", "angūr", "ʔæŋ.ɡuːɹ"},
		{ "عنقا", "anqā", "ʔæɴ.ɢɒː"},
		{ "اصل", "asl", "ʔæsɬ"},
	}
--[[	Copy the following to add more examples:
		{ "", "", ""},
]]
	
	tests:iterate(examples, "check_output_fa_phonetic")
end

function tests:test_tajik()
	examples = {
		{ "хуш", "xwaš", "χuʃ"},
		{ "хоб", "xwāb", "χɔb"},
		{ "абарнавахтар", "abarnaw.ax`tar", "ʔä.bäɾ.näw.ʔäχ.t̪ʰǽɾ"},
		{ "Иброҳим", "ibrā`hīm", "ʔib.ɾɔ.ɦím"},
		{ "имом", "i`mām", "ʔi.mɔ́m"},
		{ "пешво", "pēš`vā", "pʰeʃ.vɔ́"},
		{ "нав", "naw", "näw"},
		{ "мустаъмара", "musta'ma`ra", "mus.t̪ʰäʔ.mä.ɾǽ"},
        { "фoтеҳ", "fā`tih", "fɔ.t̪ʰéʱ"},
        { "диҳад", "di`had", "d̪i.ɦǽd̪"},
        { "фасеҳ", "fa`sīh", "fä.séʱ"},
        { "васеъ", "va`sī\'", "vä.séʔ"},
		{ "охур", "āxwar", "ʔɔ.χuɾ"},
		{ "лағв", "lağw", "läʁw"},
		{ "биҳишт", "bihišt", "bi.ɦiʃt̪"},
		{ "мӯътадил", "mu'tadil", "mɵʔ.t̪ʰä.d̪il"},
		{ "хуй", "xway", "χuj"},
		{ "хед", "xwēd", "χed̪"},
	}
--[[	Copy the following to add more examples:
		{ "", "", ""},
]]
	
	tests:iterate(examples, "check_output_tg")
end

return tests