Module:kk-Cyrl-Arab-translit/testcases

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

Test cases

[edit]

All tests passed. (refresh)

TextExpectedActualComments
test_translit_kk_cyrl_arab:
PassedБарлық адамдар тумысынан азат және қадір-қасиеті мен құқықтары тең болып дүниеге келеді. Адамдарға ақыл-парасат, ар-ождан берілген, сондықтан олар бір-бірімен туыстық, бауырмалдық қарым-қатынас жасаулары тиіс.بارلىق ادامدار تۋمىسىنان ازات جانە ٴقادىر-قاسيەتى مەن قۇقىقتارى تەڭ بولىپ دۇنيەگە كەلەدى. ادامدارعا اقىل-پاراسات، ار-وجدان بەرىلگەن، سوندىقتان ولار ٴبىر-بىرىمەن تۋىستىق، باۋىرمالدىق قارىم-قاتىناس جاساۋلارى ٴتيىس.بارلىق ادامدار تۋمىسىنان ازات جانە ٴقادىر-قاسيەتى مەن قۇقىقتارى تەڭ بولىپ دۇنيەگە كەلەدى. ادامدارعا اقىل-پاراسات، ار-وجدان بەرىلگەن، سوندىقتان ولار ٴبىر-بىرىمەن تۋىستىق، باۋىرمالدىق قارىم-قاتىناس جاساۋلارى ٴتيىس.
Passedадамдарادامدارادامدار
Passed-саـساـسا
Passed-сеـسەـسە
PassedАлтайالتايالتاي
PassedАлматыالماتىالماتى
PassedҚазақстанقازاقستانقازاقستان
Passedқазақшаقازاقشاقازاقشا
Passedтаңғажайыпتاڭعاجايىپتاڭعاجايىپ
PassedӘзірбайжанٵزىربايجانٵزىربايجان
PassedҮрімжіٷرىمجىٷرىمجى
PassedЫстамбұлىستامبۇلىستامبۇل
Passedтүйісٴتۇيىسٴتۇيىس
Passedтүйірٴتۇيىرٴتۇيىر
PassedӘзербайжанازەربايجانازەربايجان
Passedтүйістерتۇيىستەرتۇيىستەر
Passedтүйірлерتۇيىرلەرتۇيىرلەر
PassedГүржістанگۇرجىستانگۇرجىستان
PassedАйбекايبەكايبەك

-- Unit tests for [[Module:kk-Cyrl-Arab-translit]]. Refresh page to run tests.
local tests = require('Module:UnitTests')
local m_translit = require('Module:kk-Cyrl-Arab-translit')

local full_link = require('Module:links').full_link
local tagged = require('Module:script utilities').tag_text
local kk = require('Module:languages').getByCode('kk')

local rlm = require("Module:string/char")(0x200F) -- right-to-left mark
--[=[ characters that are difficult for me to type as I dont have a kk-Arab keyboard.
Needed as I prefer to manually type examples, rather than copy and paste, to avoid incorrect characters ]=]
local e = require("Module:string/char")(0x06D5) 
local u = require("Module:string/char")(0x06C7) 
local ng = require("Module:string/char")(0x06AD)
local hamza_a = require("Module:string/char")(0x0675)
local hamza_u = require("Module:string/char")(0x0677)
local hamza_i = require("Module:string/char")(0x0678)
local hamza_o = require("Module:string/char")(0x0676)
local hamza = require("Module:string/char")(0x0674)

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

local function nolink(word)
	return tagged(word, kk)
end

local options = {show_difference = true }

--TO DO
function tests:do_test_translit(cyrl, arab)
	self:equals(link(cyrl), link(m_translit.tr(cyrl, 'kk', 'Cyrl')), link(arab))
end

function tests:do_test_nolink(cyrl, arab)
	self:equals(nolink(cyrl), nolink(m_translit.tr(cyrl, 'kk', 'Cyrl')), nolink(arab))
end

function tests:test_translit_kk_cyrl_arab()
	local nolink = {
		{ "Барлық адамдар тумысынан азат және қадір-қасиеті мен құқықтары тең болып дүниеге келеді. Адамдарға ақыл-парасат, ар-ождан берілген, сондықтан олар бір-бірімен туыстық, бауырмалдық қарым-қатынас жасаулары тиіс."
			, "بارلىق ادامدار تۋمىسىنان ازات جانە ٴقادىر-قاسيەتى مەن قۇقىقتارى تەڭ بولىپ دۇنيەگە كەلەدى. ادامدارعا اقىل-پاراسات، ار-وجدان بەرىلگەن، سوندىقتان ولار ٴبىر-بىرىمەن تۋىستىق، باۋىرمالدىق قارىم-قاتىناس جاساۋلارى ٴتيىس."
		},
	}
	local examples = {
		{ "адамдар", "ادامدار" },
		{ "-са", "ـسا" }, --should this use kashida or a normal dash
		{ "-се", "ـس" .. e },
		{ "Алтай", "التاي" },
		{ "Алматы", "الماتى" },
		{ "Қазақстан", "قازاقستان" },
		{ "қазақша", "قازاقشا" },
		{ "таңғажайып", "تا" .. ng .. "عاجايىپ" },
		{ "Әзірбайжан", hamza_a .. "زىربايجان" },
		{ "Үрімжі", hamza_u .. "رىمجى" },
		{ "Ыстамбұл", "ىستامب" .. u .. "ل" },
		{ "түйіс", hamza .. "ت" .. u .. "يىس" },
		{ "түйір", hamza .. "ت" .. u .. "يىر"},
		-- gaaf, kaaf and 'e' should cancel hamza
		{ "Әзербайжан", "از" .. e .. "ربايجان" },
		{ "түйістер", "ت" .. u .. "يىست" .. e .. "ر" },
		{ "түйірлер", "ت" .. u .. "يىرل" .. e.. "ر"},
		{ "Гүржістан", "گ" .. u .. "رجىستان"},
		{ "Айбек", "ايب" .. e .. "ك" },
	}
	self:iterate(nolink, "do_test_nolink")
	self:iterate(examples, "do_test_translit")
end

return tests