Module:User:Erutuon/he-translit-superscript/testcases

3 of 123 tests failed. (refresh)

TextExpectedActualDiffers atComments
test_Tiberian:
Passedבַּיִתbayiṯbayiṯ
Passedבֵּיתbeʸṯbeʸṯ
Passedבָּתִּיםbɔttiʸmbɔttiʸm
Passedמַחֲנֶהmaḥănɛʰmaḥănɛʰ
Passedבָּרָאbɔrɔˀbɔrɔˀ
Passedרֶגֶלrɛḡɛlrɛḡɛl
Passedכֹּהֵןkohenkohen
Passedמֶלֶךְmɛlɛḵmɛlɛḵ
Passedמַמְלָכָהmamlɔḵɔʰmamlɔḵɔʰ
Passedהַמַּמְלָכָהhammamlɔḵɔʰhammamlɔḵɔʰ
Passedהַלְּלוּיָהּhall'luʷyɔhhall'luʷyɔhapostrophe to separate two identical consonants (not specified in paper)
Passedהַלְלוּיָהּhal'luʷyɔhhal'luʷyɔhapostrophe to separate two identical consonants (not specified in paper)
Passedיָדַעyɔḏaʕyɔḏaʕ
Passedשָׁבוּעַšɔḇuʷaʕšɔḇuʷaʕ
Passedרוּחַruʷaḥruʷaḥ
Passedגָּבֹהַּgɔḇoahgɔḇoah
Passedמָשִׁיחַmɔšiʸaḥmɔšiʸaḥ
Passedרֵיחַreʸaḥreʸaḥ
Passedשָׂדֶהśɔḏɛʰśɔḏɛʰ
Passedשְׂדֵהśḏeʰśḏeʰ
Passedבָּנַיbɔnaybɔnay
Passedבְּנֵיbneʸbneʸ
Passedצָרְכִּיṣɔrkiʸṣɔrkiʸ
Passedחָכְמָהḥɔḵmɔʰḥɔḵmɔʰ
Passedשִׁפְרָהšip̄rɔʰšip̄rɔʰ
Passedשָׁכְבְּךָšɔḵbḵɔšɔḵbḵɔweird
Passedהָפְכָּהhɔp̄kɔʰhɔp̄kɔʰ
Passedקָטְבּוֹqɔṭboʷqɔṭboʷ
Passedנִשְׂרְפָהniśrp̄ɔʰniśrp̄ɔʰweird
Passedבָּנָיוbɔnɔʸwbɔnɔʸw
Passedבָּנֶיהָbɔnɛʸhɔbɔnɛʸhɔ
Passedמִצְוֹתmiṣwoṯmiṣwoṯ
Passedזִוּוּגziwwuʷḡziwwuʷḡ
Passedרֹאשׁroˀšroˀš
Passedרֵאשִׁיתreˀšiʸṯreˀšiʸṯ
Passedרִאשׁוֹןriˀšoʷnriˀšoʷn
Passedמְלָאכָהmlɔˀḵɔʰmlɔˀḵɔʰ
Passedמְלֶאכֶתmlɛˀḵɛṯmlɛˀḵɛṯ
Passedחֵטְאḥeṭˀḥeṭˀ
Passedבָּרָאתָbɔrɔˀṯɔbɔrɔˀṯɔ
Passedחַטֹּאותḥaṭṭoˀʷṯḥaṭṭoˀʷṯ
Passedיְראוּyrˀuʷyrˀuʷ
Passedהָחְלַטhɔḥlaṭhɔḥlaṭ
Passedוַיֵּבְךְּwayyeḇkwayyeḇk
Passedאַרְאֶךָּʔarʔɛkkɔʔarʔɛkkɔ
Passedוַיַּשְׁקְwayyašqwayyašq
Passedאַתְּʔattʔatt
Passedוּוָווֹuʷwɔwoʷuʷwɔwoʷ
Passedוָוwɔwwɔw
Passedתָּוtɔwtɔw
Passedקַוqawqaw
Passedלָאוlɔˀwlɔˀw
Passedחַיḥayḥay
Passedחָיḥɔyḥɔy
Passedפִּיוpiʸwpiʸw
Passedכִּסְלֵוkislewkislew
Passedגּוֹיgoʷygoʷy
Passedגֹּיִיםgoyiʸmgoyiʸm
Passedרָאוּיrɔʔuʷyrɔʔuʷy
Passedקִיאqiʸˀqiʸˀ
Passedיָבִיאוּyɔḇiʸʔuʷyɔḇiʸʔuʷ
Passedיְבִיאוּןyḇiʸʔuʷnyḇiʸʔuʷn
Passedמֵאוּןmeʔuʷnmeʔuʷn
Passedמֵיאוּןmeʸʔuʷnmeʸʔuʷn
Passedבּוֹאוּboʷʔuʷboʷʔuʷ
Passedבֹּאוּboʔuʷboʔuʷ
Passedבּוּאוּbuʷʔuʷbuʷʔuʷ
Passedאָבִיאָהʔɔḇiʸʔɔʰʔɔḇiʸʔɔʰ
Passedמֵאָהmeʔɔʰmeʔɔʰ
Passedגֵּיאָהּgeʸʔɔhgeʸʔɔh
Passedאָבוֹאָהʔɔḇoʷʔɔʰʔɔḇoʷʔɔʰ
Passedאָבֹאָהʔɔḇoʔɔʰʔɔḇoʔɔʰ
Passedנְשׂוּאָהnśuʷʔɔʰnśuʷʔɔʰ
Passedקִיאוֹqiʸʔoʷqiʸʔoʷ
Passedגֵּאוֹgeʔoʷgeʔoʷ
Passedגֵּיאוֹgeʸʔoʷgeʸʔoʷ
Passedבּוֹאוֹboʷʔoʷboʷʔoʷ
Passedבֹּאוֹboʔoʷboʔoʷ
Passedמִלּוּאוֹmilluʷʔoʷmilluʷʔoʷ
Passedמִיmiʸmiʸ
Passedאִיִּיםʔiyyiʸmʔiyyiʸm
Passedאִיּוֹבʔiyyoʷḇʔiyyoʷḇ
Passedאִיּוּןʔiyyuʷnʔiyyuʷn
Passedאַיִןʔayinʔayin
Passedבּוֹאboʷˀboʷˀ
Passedיְפֵהפֶהyp̄eʰp̄ɛʰyp̄eʰp̄ɛʰ
Passedאֹהֶלʔohɛlʔohɛl
Passedהָאֹהֱלָהhɔʔohĕlɔʰhɔʔohĕlɔʰ
Passedאָהֳלוֹʔɔhŏloʷʔɔhŏloʷ
Passedאָהָלְךָʔɔhɔlḵɔʔɔhɔlḵɔ
Failedיִשָּׂשכָרyiśśɔḵɔryiśśɔśḵɔr6silent sin
Passedהוֹשִׁיעָה נָּאhoʷšiʸʕɔʰ nnɔˀhoʷšiʸʕɔʰ nnɔˀinitial gemination
Passedעַד בֹּאֲךָʕaḏ boʔăḵɔʕaḏ boʔăḵɔ
Passedוַיַּשְׁקְ אֶת הַצֹּאןwayyašq ʔɛṯ haṣṣoˀnwayyašq ʔɛṯ haṣṣoˀn
Passedבְּנֵי בְרָקbneʸ ḇrɔqbneʸ ḇrɔq
Passedבְרָקḇrɔqḇrɔq
Passedאִישׁ יְהוּדִי הָיָה בְּשׁוּשַׁן הַבִּירָה וּשְׁמוֹ מָרְדֳּכַי בֶּן יָאִיר בֶּן־שִׁמְעִי בֶּן־קִישׁ אִישׁ יְמִינִי׃ʔiʸš yhuʷḏiʸ hɔyɔʰ bšuʷšan habbiʸrɔʰ uʷšmoʷ mɔrdŏḵay bɛn yɔʔiʸr bɛn-šimʕiʸ bɛn-qiʸš ʔiʸš ymiʸniʸ.ʔiʸš yhuʷḏiʸ hɔyɔʰ bšuʷšan habbiʸrɔʰ uʷšmoʷ mɔrdŏḵay bɛn yɔʔiʸr bɛn-šimʕiʸ bɛn-qiʸš ʔiʸš ymiʸniʸ.
omit cantillation mark stuff
implicit ktiv/qre that would be nice to have
Passedהִואhiʷˀhiʷˀ
Passedיְרוּשָׁלִַםyruʷšɔlaimyruʷšɔlaim
Passedיְרוּשָׁלִָםyruʷšɔlɔimyruʷšɔlɔim
Failedיְרוּשָׁלְַמָהyruʷšɔlaymɔʰyruʷšɔlamɔʰ9
Failedיְרוּשָׁלְָמָהyruʷšɔlɔymɔʰyruʷšɔlɔmɔʰ9
ktiv male tests
Passedחַיָּיבḥayyɔʸḇḥayyɔʸḇ
Passedחַוָּוהḥawwɔʷʰḥawwɔʷʰ
Passedהֱוֵוהhĕweʷʰhĕweʷʰ
Passedהַיְינוּhayʸnuʷhayʸnuʷ
Passedהִתְכַּוְּונוּhiṯkawwʷnuʷhiṯkawwʷnuʷ
Passedגַּוְונָאgawʷnɔˀgawʷnɔˀ
Passedמְייוּחָדmʸyuʷḥɔḏmʸyuʷḥɔḏ
Passedכְּדַאיkḏaˀykḏaˀy
Passedכּוּלָּםkuʷllɔmkuʷllɔm
Passedקִידּוּשׁqiʸdduʷšqiʸdduʷš
more alef
Passedאֲאַזֶּרְךָʔăʔazzɛrḵɔʔăʔazzɛrḵɔ
Passedמְאֹדmʔoḏmʔoḏ
Passedוַיִּבְאַשׁwayyiḇʔašwayyiḇʔaš
Passedוַיֶּאְסֹרwayyɛʔsorwayyɛʔsor
Passedרֻאּוּruʔʔuʷruʔʔuʷ
Passedתָּבִיאּוּtɔḇiʸʔʔuʷtɔḇiʸʔʔuʷ
Passedוַיָּבִיאּוּwayyɔḇiʸʔʔuʷwayyɔḇiʸʔʔuʷ
sheva stress tests
Passedשָׁתְתָהšɔṯ'ṯɔʰšɔṯ'ṯɔʰ
Passedשְׁתֵּיšteʸšteʸ
Passedשְׁתַּיִםštayimštayim
Passedשְׁתֵּים עֶשְׁרֵיšteʸm ʕɛšreʸšteʸm ʕɛšreʸ

Lua error in Module:module_categorization at line 298: Could not infer any languages or scripts from root pagename 'User:Erutuon'


-- Put tab character between Hebrew and its transliteration.
local examples = [[
בַּיִת	bayiṯ
בֵּית	beʸṯ
בָּתִּים	bɔttiʸm
מַחֲנֶה	maḥănɛʰ
בָּרָא	bɔrɔˀ
רֶגֶל	rɛḡɛl
כֹּהֵן	kohen
מֶלֶךְ	mɛlɛḵ
מַמְלָכָה	mamlɔḵɔʰ
הַמַּמְלָכָה	hammamlɔḵɔʰ
הַלְּלוּיָהּ	hall'luʷyɔh -- apostrophe to separate two identical consonants (not specified in paper)
הַלְלוּיָהּ	hal'luʷyɔh -- apostrophe to separate two identical consonants (not specified in paper)
יָדַע	yɔḏaʕ
שָׁבוּעַ	šɔḇuʷaʕ
רוּחַ	ruʷaḥ
גָּבֹהַּ	gɔḇoah
מָשִׁיחַ	mɔšiʸaḥ
רֵיחַ	reʸaḥ
שָׂדֶה	śɔḏɛʰ
שְׂדֵה	śḏeʰ
בָּנַי	bɔnay
בְּנֵי	bneʸ
צָרְכִּי	ṣɔrkiʸ
חָכְמָה	ḥɔḵmɔʰ
שִׁפְרָה	šip̄rɔʰ
שָׁכְבְּךָ	šɔḵbḵɔ -- weird
הָפְכָּה	hɔp̄kɔʰ
קָטְבּוֹ	qɔṭboʷ
נִשְׂרְפָה	niśrp̄ɔʰ -- weird
בָּנָיו	bɔnɔʸw
בָּנֶיהָ	bɔnɛʸhɔ
מִצְוֹת	miṣwoṯ
זִוּוּג	ziwwuʷḡ
רֹאשׁ	roˀš
רֵאשִׁית	reˀšiʸṯ
רִאשׁוֹן	riˀšoʷn
מְלָאכָה	mlɔˀḵɔʰ
מְלֶאכֶת	mlɛˀḵɛṯ
חֵטְא	ḥeṭˀ
בָּרָאתָ	bɔrɔˀṯɔ
חַטֹּאות	ḥaṭṭoˀʷṯ
יְראוּ	yrˀuʷ
הָחְלַט	hɔḥlaṭ
וַיֵּבְךְּ	wayyeḇk
אַרְאֶךָּ	ʔarʔɛkkɔ
וַיַּשְׁקְ	wayyašq
אַתְּ	ʔatt
וּוָווֹ	uʷwɔwoʷ
וָו	wɔw
תָּו	tɔw
קַו	qaw
לָאו	lɔˀw
חַי	ḥay
חָי	ḥɔy
פִּיו	piʸw
כִּסְלֵו	kislew
גּוֹי	goʷy
גֹּיִים	goyiʸm
רָאוּי	rɔʔuʷy
קִיא	qiʸˀ
יָבִיאוּ	yɔḇiʸʔuʷ
יְבִיאוּן	yḇiʸʔuʷn
מֵאוּן	meʔuʷn
מֵיאוּן	meʸʔuʷn
בּוֹאוּ	boʷʔuʷ
בֹּאוּ	boʔuʷ
בּוּאוּ	buʷʔuʷ
אָבִיאָה	ʔɔḇiʸʔɔʰ
מֵאָה	meʔɔʰ
גֵּיאָהּ	geʸʔɔh
אָבוֹאָה	ʔɔḇoʷʔɔʰ
אָבֹאָה	ʔɔḇoʔɔʰ
נְשׂוּאָה	nśuʷʔɔʰ
קִיאוֹ	qiʸʔoʷ
גֵּאוֹ	geʔoʷ
גֵּיאוֹ	geʸʔoʷ
בּוֹאוֹ	boʷʔoʷ
בֹּאוֹ	boʔoʷ
מִלּוּאוֹ	milluʷʔoʷ
מִי	miʸ
אִיִּים	ʔiyyiʸm
אִיּוֹב	ʔiyyoʷḇ
אִיּוּן	ʔiyyuʷn
אַיִן	ʔayin
בּוֹא	boʷˀ
יְפֵהפֶה	yp̄eʰp̄ɛʰ
אֹהֶל	ʔohɛl
הָאֹהֱלָה	hɔʔohĕlɔʰ
אָהֳלוֹ	ʔɔhŏloʷ
אָהָלְךָ	ʔɔhɔlḵɔ
יִשָּׂשכָר	yiśśɔḵɔr -- silent sin
הוֹשִׁיעָה נָּא	hoʷšiʸʕɔʰ nnɔˀ -- initial gemination
עַד בֹּאֲךָ	ʕaḏ boʔăḵɔ
וַיַּשְׁקְ אֶת הַצֹּאן	wayyašq ʔɛṯ haṣṣoˀn
בְּנֵי בְרָק	bneʸ ḇrɔq
בְרָק	ḇrɔq
אִישׁ יְהוּדִי הָיָה בְּשׁוּשַׁן הַבִּירָה וּשְׁמוֹ מָרְדֳּכַי בֶּן יָאִיר בֶּן־שִׁמְעִי בֶּן־קִישׁ אִישׁ יְמִינִי׃	ʔiʸš yhuʷḏiʸ hɔyɔʰ bšuʷšan habbiʸrɔʰ uʷšmoʷ mɔrdŏḵay bɛn yɔʔiʸr bɛn-šimʕiʸ bɛn-qiʸš ʔiʸš ymiʸniʸ.
-- omit cantillation mark stuff
-- implicit ktiv/qre that would be nice to have
הִוא	hiʷˀ
יְרוּשָׁלִַם	yruʷšɔlaim
יְרוּשָׁלִָם	yruʷšɔlɔim
יְרוּשָׁלְַמָה	yruʷšɔlaymɔʰ
יְרוּשָׁלְָמָה	yruʷšɔlɔymɔʰ
-- ktiv male tests
חַיָּיב	ḥayyɔʸḇ
חַוָּוה	ḥawwɔʷʰ
הֱוֵוה	hĕweʷʰ
הַיְינוּ	hayʸnuʷ
הִתְכַּוְּונוּ	hiṯkawwʷnuʷ
גַּוְונָא	gawʷnɔˀ
מְייוּחָד	mʸyuʷḥɔḏ
כְּדַאי	kḏaˀy
כּוּלָּם	kuʷllɔm
קִידּוּשׁ	qiʸdduʷš
-- more alef
אֲאַזֶּרְךָ	ʔăʔazzɛrḵɔ
מְאֹד	mʔoḏ
וַיִּבְאַשׁ	wayyiḇʔaš
וַיֶּאְסֹר	wayyɛʔsor
רֻאּוּ	ruʔʔuʷ
תָּבִיאּוּ	tɔḇiʸʔʔuʷ
וַיָּבִיאּוּ	wayyɔḇiʸʔʔuʷ
-- sheva stress tests
שָׁתְתָה	šɔṯ'ṯɔʰ
שְׁתֵּי	šteʸ
שְׁתַּיִם	štayim
שְׁתֵּים עֶשְׁרֵי	šteʸm ʕɛšreʸ
]]
-- special character inventory:
-- ă ɛ ĕ ɔ ŏ
-- ʔ ˀ ḇ ḡ ḏ ʰ ʷ ḥ ʸ ḵ ʕ p̄
-- ṭ š ś ṯ
-- English order:
-- ḇ ḏ ḡ ʰ ḥ ḵ p̄
-- š ś ṯ ṭ ʷ ʸ ʔ ˀ ʕ

local tests = require('Module:UnitTests')

local he_translit = require('Module:User:Erutuon/he-translit-superscript')

local full_link = require('Module:links').full_link
local lang = require('Module:languages').getByCode('he')
local sc = require('Module:scripts').getByCode('Hebr')
local function link(term)
	return full_link{lang = lang, sc = sc, term = term}
end

local function parse_examples(example_string)
	local examples = {}
	for line in mw.text.gsplit(example_string, "\n") do
		local rest, comment = line:match("^(.-)%-%-%s*([^\n]+)%s*$")
		if not rest then
			rest = line
		end
		rest = mw.text.trim(rest)
		if rest == "" then
			table.insert(examples, comment)
		else
			local example = mw.text.split(rest, "\t")
			assert(#example == 2, #example .. "\t" .. mw.text.jsonEncode(rest))
			table.insert(example, comment)
			table.insert(examples, example)
		end
	end
	return examples
end

function tests:test_Tiberian()
	self:iterate(
		parse_examples(examples),
		function(self, Hebrew, translit, comment)
			assert(type(Hebrew) == "string", type(Hebrew))
			assert(type(translit) == "string", type(translit))
			return self:equals(link(Hebrew), mw.ustring.toNFC(he_translit.transliterate(Hebrew)), translit, {comment = comment})
		end)
end

return tests