Module:User:Erutuon/he-translit-omit-nonconsonantal/testcases

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

50 of 179 tests failed. (refresh)

TextExpectedActualDiffers atComments
test_translit:
Passedבַּיִתbayiṯbayiṯ
Passedבֵּיתbēṯbēṯ
Passedבָּֽתִּיםbāttīmbāttīm
Failedאָ֫תָּהʾā́ttāʔā́ttā1stressed qamats always ā
Failedאָֽתָּהʾāttāʔāttā1meteg for unstressed qamats that is ā (normally would be o)
Failedאָכְלָהʾoḵlāʔoḵlā1“food” - unstressed qamats before sheva normally o
Failedאָֽכְלָהʾāḵəlāʔāḵəlā1“she ate”
Passedמַחֲנֶהmaḥănemaḥăne
Passedבָּרָאbārābārā
Passedרֶגֶלreḡelreḡel
Passedכֹּהֵןkōhēnkōhēn
Passedמֶלֶךְmeleḵmeleḵ
Passedמַמְלָכָהmamlāḵāmamlāḵā
Passedהַמַּמְלָכָהhammamlāḵāhammamlāḵā
Passedהַלְּלוּיָהּhalləlūyāhhalləlūyāh
Passedהַלְלוּיָהּhaləlūyāhhaləlūyāh
Failedיָדַעyāḏaʿyāḏaʕ5
Failedשָׁבוּעַšāḇū́aʿšāḇū́aʕ7
Passedרוּחַrū́aḥrū́aḥ
Passedגָּבֹהַּgāḇṓahgāḇṓah
Passedגָּבֹ֫הַּgāḇṓahgāḇṓahavoid adding two stress marks
Passedמָשִׁיחַmāšī́aḥmāšī́aḥ
Passedמָשִׁ֫יחַmāšī́aḥmāšī́aḥavoid adding two stress marks
Passedרֵיחַrḗaḥrḗaḥ
Passedשָׂדֶהśāḏeśāḏe
Passedשְׂדֵהśəḏēśəḏē
Passedבָּנַיbānaybānay
Passedבְּנֵיbənēbənē
Passedצָרְכִּיṣorkīṣorkī
Passedבֵּלְטְשַׁאצַּרbēlṭəšaṣṣarbēlṭəšaṣṣar
Passedחָכְמָהḥoḵmāḥoḵmāno sheva rules apply; have to go with a default
Passedשִׁפְרָהšip̄rāšip̄rā
Passedשָׁכְבְּךָšoḵbəḵāšoḵbəḵā
Passedהָפְכָּהhop̄kāhop̄kāmade-up word, but a particular potentially problematic Unicode situation
Passedקָטְבּוֹqoṭbōqoṭbōanother particular potentially problematic Unicode situation
Passedנִשְׂרְפָהniśrəp̄āniśrəp̄ā
Passedבָּנָיוbānāwbānāw
Passedבָּנֶיהָbānehābānehā
Passedמִצְוֹתmiṣwōṯmiṣwōṯ
Failedעָוֺןʿāwōnʕāwōn1
Passedזִוּוּגziwwūḡziwwūḡ
Passedרֹאשׁrōšrōš
Passedרֵאשִׁיתrēšīṯrēšīṯ
Passedרִאשׁוֹןrīšōnrīšōn
Passedמְלָאכָהməlāḵāməlāḵā
Passedמְלֶאכֶתməleḵeṯməleḵeṯ
Passedחֵטְאḥēṭḥēṭ
Passedבָּרָאתָbārāṯābārāṯā
Passedחַטֹּאותḥaṭṭōṯḥaṭṭōṯ
Passedיְראוּyərūyərū
Failedוַיֶּאְסֹרwayyeʾsōrwayyeʔsōr6
Passedהָחְלַטhoḥlaṭhoḥlaṭ
Passedוַיֵּבְךְּwayyēḇkwayyēḇk
Passedוַיֵּ֫בְךְּwayyēḇkwayyēḇkomit accent on final syllable before silent sheva
Failedאַרְאֶךָּʾarʾekkāʔarʔekkā1
Passedוַיַּשְׁקְwayyašqwayyašq
Failedאַתְּʾattʔatt1
Passedוּוָווֹūwāwōūwāwō
Passedוָוwāwwāw
Passedתָּוtāwtāw
Passedקַוqawqaw
Passedלָאוlāwlāw
Passedחַיḥayḥay
Passedחָיḥāyḥāypausal
Passedפִּיוpīwpīw
Passedכִּסְלֵוkislēwkislēw
Passedגּוֹיgōygōy
Passedגֹּיgōygōy
Passedגֹּיִיםgōyīmgōyīm
Failedרָאוּיrāʾūyrāʔūy3
Passedקִיא
Failedיָבִיאוּyāḇīʾūyāḇīʔū5
Failedיְבִיאוּןyəḇīʾūnyəḇīʔūn5
Failedמֵאוּןmēʾūnmēʔūn3
Failedמֵיאוּןmēʾūnmēʔūn3
Failedבּוֹאוּbōʾūbōʔū3
Failedבֹּאוּbōʾūbōʔū3
Failedבּוּאוּbūʾūbūʔū3made-up word, but may help identify the issue
Failedאָבִיאָהʾāḇīʾāʔāḇīʔā1
Failedמֵאָהmēʾāmēʔā3
Failedגֵּיאָהּgēʾāhgēʔāh3
Failedאָבוֹאָהʾāḇōʾāʔāḇōʔā1
Failedאָבֹאָהʾāḇōʾāʔāḇōʔā1
Failedנְשׂוּאָהnəśūʾānəśūʔā5
Failedקִיאוֹqīʾōqīʔō3
Failedגֵּאוֹgēʾōgēʔō3
Failedגֵּיאוֹgēʾōgēʔō3
Failedבּוֹאוֹbōʾōbōʔō3
Failedבֹּאוֹbōʾōbōʔō3
Failedמִלּוּאוֹmillūʾōmillūʔō6
Passedמִי
Failedאִיִּיםʾiyyīmʔiyyīm1
Failedאִיּוֹבʾiyyōḇʔiyyōḇ1
Failedאִיּוּןʾiyyūnʔiyyūn1
Failedאַיִןʾayinʔayin1
Passedבּוֹא
Passedיְפֵהפֶהyəp̄ēp̄eyəp̄ēp̄e
Failedאֹהֶלʾōhelʔōhel1
Failedהָאֹהֱלָהhāʾōhĕlāhāʔōhĕlā3
Failedאָהֳלוֹʾohŏlōʔohŏlō1
Failedאָהָלְךָʾoholəḵāʔāholḵā1qamats qamats sheva perhaps always ooə in segolate nouns with pronominal suffix; however, verbs follow the same pattern but have long ā, so this may be an impossible condition to use
PassedיִשָּׂשכָרyiśśāḵāryiśśāḵārStill undecided if this actually needs to be handled
Failedהוֹשִׁיעָה נָּאhōšīʿā nnāhōšīʕā nnā5
Failedעַד בֹּאֲךָʿaḏ bōʾăḵāʕaḏ bōʔăḵā1
Failedוַיַּשְׁקְ אֶת הַצֹּאןwayyašq ʾeṯ haṣṣōnwayyašq ʔeṯ haṣṣōn9
Passedבְּנֵי בְרָקbənē ḇərāqbənē ḇərāq
Passedבְרָקḇərāqḇərāq
Failedאִישׁ יְהוּדִי הָיָה בְּשׁוּשַׁן הַבִּירָה וּשְׁמוֹ מָרְדֳּכַי בֶּן יָאִיר בֶּן־שִׁמְעִי בֶּן־קִישׁ אִישׁ יְמִינִי׃ʾīš yəhūḏī hāyā bəšūšan habbīrā ūšəmō mordŏḵay ben yāʾīr ben-šimʿī ben-qīš ʾīš yəmīnī.ʔīš yəhūḏī hāyā bəšūšan habbīrā ūšəmō mordŏḵay ben yāʔīr ben-šimʕī ben-qīš ʔīš yəmīnī.1
Failedאִ֣ישׁ יְהוּדִ֔י הָיָ֖ה בְּשׁוּשַׁ֣ן הַבִּירָ֑ה וּשְׁמ֣וֹ מָרְדֳּכַ֗י בֶּ֣ן יָאִ֧יר בֶּן־שִׁמְעִ֛י בֶּן־קִ֖ישׁ אִ֥ישׁ יְמִינִֽי׃ʾīš yəhūḏī hāyā bəšūšan habbīrā ūšəmō mordŏḵay ben yāʾīr ben-šimʿī ben-qīš ʾīš yəmīnī.ʔīš yəhūḏī hāyā bəšūšan habbīrā ūšəmō mordŏḵay ben yāʔīr ben-šimʕī ben-qīš ʔīš yəmīnī.1fully accented verse; stress should not be indicated in the final syllable
Failedוַיְהִי הַמַּבּוּל אַרְבָּעִים יוֹם עַל־הָאָרֶץ וַיִּרְבּוּ הַמַּיִם וַיִּשְׂאוּ אֶת־הַתֵּבָה וַתָּרָם מֵעַל הָאָרֶץ׃wayhī hammabbūl ʾarbāʿīm yōm ʿal-hāʾā́reṣ wayyirbū hammáyim wayyiśʾū ʾeṯ-hattēḇā wattā́rom mēʿal hāʾā́reṣ.wayhī hammabbūl ʔarbāʕīm yōm ʕal-hāʔāreṣ wayyirbū hammayim wayyiśʔū ʔeṯ-hattēḇā wattārām mēʕal hāʔāreṣ.17a reminder of why this is hard
Failedוַיְהִ֧י הַמַּבּ֛וּל אַרְבָּעִ֥ים י֖וֹם עַל־הָאָ֑רֶץ וַיִּרְבּ֣וּ הַמַּ֗יִם וַיִּשְׂאוּ֙ אֶת־הַתֵּבָ֔ה וַתָּ֖רָם מֵעַ֥ל הָאָֽרֶץ׃wayhī hammabbūl ʾarbāʿīm yōm ʿal-hāʾā́reṣ wayyirbū hammáyim wayyiśʾū ʾeṯ-hattēḇā wattā́rom mēʿal hāʾā́reṣ.wayhī hammabbūl ʔarbāʕīm yōm ʕal-hāʔā́reṣ wayyirbū hammáyim wayyiśʔū ʔeṯ-hattēḇā wattā́rām mēʕal hāʔāreṣ.17fully accented verse version of the above
Failedוַיַּ֤רְא אֱלֹהִים֙ אֶת־כָּל־אֲשֶׁ֣ר עָשָׂ֔ה וְהִנֵּה־ט֖וֹב מְאֹ֑ד וַֽיְהִי־עֶ֥רֶב וַֽיְהִי־בֹ֖קֶר י֥וֹם הַשִּׁשִּֽׁי׃wayyar ʾĕlōhīm ʾeṯ-kol-ʾăšer ʿāśā wəhinnē-ṭōḇ məʾōḏ wáyhī-ʿéreḇ wáyhī-ḇṓqer yōm haššiššī.wayyar ʔĕlōhīm ʔeṯ-kol-ʔăšer ʕāśā wəhinnē-ṭōḇ məʔōḏ wayəhī-ʕéreḇ wayəhī-ḇṓqer yōm haššiššī.8
implicit ktiv/qre that would be nice to have
Passedהִוא
Passedיְרוּשָׁלִַםyərūšāláyimyərūšāláyim
Passedיְר֣וּשָׁלִַ֔םyərūšāláyimyərūšāláyimwith accent: incorrect order with no combining grapheme joiner
Passedיְרוּשָׁלִָםyərūšālā́yimyərūšālā́yimpausal form
Passedיְרוּשָׁלָֽ͏ִםyərūšālā́yimyərūšālā́yimwith meteg and combining grapheme joiner (which keeps meteg between vowel points)
Passedיְרוּשָׁלְַמָהyərūšāláymāyərūšāláymā
Passedיְרוּשָׁלְָמָהyərūšālā́ymāyərūšālā́ymā
ktiv male tests
Passedחַיָּיבḥayyāḇḥayyāḇ
Passedחַוָּוהḥawwāḥawwā
Passedהֱוֵוהhĕwēhĕwē
Passedהַיְינוּhaynūhaynū
Passedהִתְכַּוְּונוּhiṯkawwənūhiṯkawwənū
Passedגַּוְונָאgawnāgawnā
Passedמְייוּחָדməyūḥāḏməyūḥāḏthere is no way to tell that it really should be məyuḥāḏ, but anyway this test is for the double yod
Passedכְּדַאיkəḏaykəḏay
Passedכּוּלָּםkullāmkullāmshuruk does not necessarily imply a long vowel
Passedקִידּוּשׁqiddūšqiddūšchiriq male does not necessarily imply a long vowel
כל
Passedכָּלkolkol
Passedכָּל כָּל כָּלkol kol kolkol kol kol
Passedכָּל הַכָּבוֹדkol hakkāḇōḏkol hakkāḇōḏ
Passedכָלḵolḵol
Failedבְּלִי כָל מְאוּםbəlī ḵol məʾūmbəlī ḵol məʔūm12
Passedמִכָּלmikkolmikkol
Passedמִכָּל מָקוֹםmikkol māqōmmikkol māqōm
Passedבְּכָלbəḵolbəḵol
Passedבְּכָל מָקוֹםbəḵol māqōmbəḵol māqōm
Passedלְכָלləḵolləḵol
Passedלְכָל מָקוֹםləḵol māqōmləḵol māqōm
Passedכְּכָלkəḵolkəḵol
Failedכְּכָל הַנִּרְאֶהkəḵol hannirʾekəḵol hannirʔe13
Passedשֶׁכָּלšekkolšekkol
Passedשֶׁכָּל מָקוֹםšekkol māqōmšekkol māqōm
Passedשֶׁמִּכָּלšemmikkolšemmikkol
Passedשֶׁמִּכָּל מָקוֹםšemmikkol māqōmšemmikkol māqōm
Passedשֶׁבְּכָלšebbəḵolšebbəḵol
Passedשֶׁבְּכָל מָקוֹםšebbəḵol māqōmšebbəḵol māqōm
Passedשֶׁלְּכָלšelləḵolšelləḵol
Passedשֶׁלְּכָל מָקוֹםšelləḵol māqōmšelləḵol māqōm
Passedוְכָלwəḵolwəḵol
Passedוְכָל מָקוֹםwəḵol māqōmwəḵol māqōm
Passedוּבְכָלūḇəḵolūḇəḵol
Passedוּבְכָל מָקוֹםūḇəḵol māqōmūḇəḵol māqōm
Passedוּכְכָלūḵəḵolūḵəḵol
Passedוּכְכָל מָקוֹםūḵəḵol māqōmūḵəḵol māqōm
Passedהַכָּלhakkolhakkol
Passedבַּכָּלbakkolbakkol
Passedלַכָּלlakkollakkol
Passedמֵהַכָּלmēhakkolmēhakkol
Passedשֶׁהַכָּלšehakkolšehakkol
Passedשֶׁבַּכָּלšebbakkolšebbakkol
Passedשֶׁלַּכָּלšellakkolšellakkol
Passedוְהַכָּלwəhakkolwəhakkol
Passedוּבַכָּלūḇakkolūḇakkol
Passedוְלַכָּלwəlakkolwəlakkol
Passedוְכַכָּלwəḵakkolwəḵakkol
Passedדְּכָלdəḵoldəḵol
Passedשַׁכָּלšakkolšakkol
not kol
Passedכָּלָהkālākālā
Passedהֵיכָלhēḵālhēḵāl
Failedמַאֲכָלmaʾăḵālmaʔăḵāl3
Passedמִיכָלmīḵālmīḵāl
Passedמְכָלməḵālməḵāl
Passedשָׁכָלšāḵālšāḵāl
Passedשֻׁכָּלšukkālšukkāl
Passedמוּכָלmūḵālmūḵāl
rare word-internal he mater-lectionis (for fun)
Passedפְּדָהצוּרpəḏāṣūrpəḏāṣūr
Failedעֲשָׂהאֵלʿăśāʾēlʕăśāʔēl1

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


-- Taken verbatim from ]
local examples = [[
בַּיִת	bayiṯ
בֵּית	bēṯ
בָּֽתִּים	bāttīm
אָ֫תָּה	ʾā́ttā -- stressed qamats always ā
אָֽתָּה	ʾāttā -- meteg for unstressed qamats that is ā (normally would be o)
אָכְלָה	ʾoḵlā -- “food” - unstressed qamats before sheva normally o
אָֽכְלָה	ʾāḵəlā -- “she ate”
מַחֲנֶה	maḥăne
בָּרָא	bārā
רֶגֶל	reḡel
כֹּהֵן	kōhēn
מֶלֶךְ	meleḵ
מַמְלָכָה	mamlāḵā
הַמַּמְלָכָה	hammamlāḵā
הַלְּלוּיָהּ	halləlūyāh
הַלְלוּיָהּ	haləlūyāh
יָדַע	yāḏaʿ
שָׁבוּעַ	šāḇū́aʿ
רוּחַ	rū́aḥ
גָּבֹהַּ	gāḇṓah
גָּבֹ֫הַּ	gāḇṓah -- avoid adding two stress marks
מָשִׁיחַ	māšī́aḥ
מָשִׁ֫יחַ	māšī́aḥ -- avoid adding two stress marks
רֵיחַ	rḗaḥ
שָׂדֶה	śāḏe
שְׂדֵה	śəḏē
בָּנַי	bānay
בְּנֵי	bənē
צָרְכִּי	ṣorkī
בֵּלְטְשַׁאצַּר	bēlṭəšaṣṣar
חָכְמָה	ḥoḵmā -- no sheva rules apply; have to go with a default
שִׁפְרָה	šip̄rā
שָׁכְבְּךָ	šoḵbəḵā
הָפְכָּה	hop̄kā -- made-up word, but a particular potentially problematic Unicode situation
קָטְבּוֹ	qoṭbō -- another particular potentially problematic Unicode situation
נִשְׂרְפָה	niśrəp̄ā
בָּנָיו	bānāw
בָּנֶיהָ	bānehā
מִצְוֹת	miṣwōṯ
עָוֺן	ʿāwōn
זִוּוּג	ziwwūḡ
רֹאשׁ	rōš
רֵאשִׁית	rēšīṯ
רִאשׁוֹן	rīšōn
מְלָאכָה	məlāḵā
מְלֶאכֶת	məleḵeṯ
חֵטְא	ḥēṭ
בָּרָאתָ	bārāṯā
חַטֹּאות	ḥaṭṭōṯ
יְראוּ	yərū
וַיֶּאְסֹר	wayyeʾsōr
הָחְלַט	hoḥlaṭ
וַיֵּבְךְּ	wayyēḇk
וַיֵּ֫בְךְּ	wayyēḇk -- omit accent on final syllable before silent sheva
אַרְאֶךָּ	ʾarʾekkā
וַיַּשְׁקְ	wayyašq
אַתְּ	ʾatt
וּוָווֹ	ūwāwō
וָו	wāw
תָּו	tāw
קַו	qaw
לָאו	lāw
חַי	ḥay
חָי	ḥāy -- pausal
פִּיו	pīw
כִּסְלֵו	kislēw
גּוֹי	gōy
גֹּי	gōy
גֹּיִים	gōyīm
רָאוּי	rāʾūy
קִיא	qī
יָבִיאוּ	yāḇīʾū
יְבִיאוּן	yəḇīʾūn
מֵאוּן	mēʾūn
מֵיאוּן	mēʾūn
בּוֹאוּ	bōʾū
בֹּאוּ	bōʾū
בּוּאוּ	būʾū -- made-up word, but may help identify the issue
אָבִיאָה	ʾāḇīʾā
מֵאָה	mēʾā
גֵּיאָהּ	gēʾāh
אָבוֹאָה	ʾāḇōʾā
אָבֹאָה	ʾāḇōʾā
נְשׂוּאָה	nəśūʾā
קִיאוֹ	qīʾō
גֵּאוֹ	gēʾō
גֵּיאוֹ	gēʾō
בּוֹאוֹ	bōʾō
בֹּאוֹ	bōʾō
מִלּוּאוֹ	millūʾō
מִי	mī
אִיִּים	ʾiyyīm
אִיּוֹב	ʾiyyōḇ
אִיּוּן	ʾiyyūn
אַיִן	ʾayin
בּוֹא	bō
יְפֵהפֶה	yəp̄ēp̄e
אֹהֶל	ʾōhel
הָאֹהֱלָה	hāʾōhĕlā
אָהֳלוֹ	ʾohŏlō
אָהָלְךָ	ʾoholəḵā -- qamats qamats sheva perhaps always ooə in segolate nouns with pronominal suffix; however, verbs follow the same pattern but have long ā, so this may be an impossible condition to use
יִשָּׂשכָר	yiśśāḵār -- Still undecided if this actually needs to be handled
הוֹשִׁיעָה נָּא	hōšīʿā nnā
עַד בֹּאֲךָ	ʿaḏ bōʾăḵā
וַיַּשְׁקְ אֶת הַצֹּאן	wayyašq ʾeṯ haṣṣōn
בְּנֵי בְרָק	bənē ḇərāq
בְרָק	ḇərāq
אִישׁ יְהוּדִי הָיָה בְּשׁוּשַׁן הַבִּירָה וּשְׁמוֹ מָרְדֳּכַי בֶּן יָאִיר בֶּן־שִׁמְעִי בֶּן־קִישׁ אִישׁ יְמִינִי׃	ʾīš yəhūḏī hāyā bəšūšan habbīrā ūšəmō mordŏḵay ben yāʾīr ben-šimʿī ben-qīš ʾīš yəmīnī.
אִ֣ישׁ יְהוּדִ֔י הָיָ֖ה בְּשׁוּשַׁ֣ן הַבִּירָ֑ה וּשְׁמ֣וֹ מָרְדֳּכַ֗י בֶּ֣ן יָאִ֧יר בֶּן־שִׁמְעִ֛י בֶּן־קִ֖ישׁ אִ֥ישׁ יְמִינִֽי׃	ʾīš yəhūḏī hāyā bəšūšan habbīrā ūšəmō mordŏḵay ben yāʾīr ben-šimʿī ben-qīš ʾīš yəmīnī. -- fully accented verse; stress should not be indicated in the final syllable
וַיְהִי הַמַּבּוּל אַרְבָּעִים יוֹם עַל־הָאָרֶץ וַיִּרְבּוּ הַמַּיִם וַיִּשְׂאוּ אֶת־הַתֵּבָה וַתָּרָם מֵעַל הָאָרֶץ׃	wayhī hammabbūl ʾarbāʿīm yōm ʿal-hāʾā́reṣ wayyirbū hammáyim wayyiśʾū ʾeṯ-hattēḇā wattā́rom mēʿal hāʾā́reṣ. -- a reminder of why this is hard
וַיְהִ֧י הַמַּבּ֛וּל אַרְבָּעִ֥ים י֖וֹם עַל־הָאָ֑רֶץ וַיִּרְבּ֣וּ הַמַּ֗יִם וַיִּשְׂאוּ֙ אֶת־הַתֵּבָ֔ה וַתָּ֖רָם מֵעַ֥ל הָאָֽרֶץ׃	wayhī hammabbūl ʾarbāʿīm yōm ʿal-hāʾā́reṣ wayyirbū hammáyim wayyiśʾū ʾeṯ-hattēḇā wattā́rom mēʿal hāʾā́reṣ. -- fully accented verse version of the above
וַיַּ֤רְא אֱלֹהִים֙ אֶת־כָּל־אֲשֶׁ֣ר עָשָׂ֔ה וְהִנֵּה־ט֖וֹב מְאֹ֑ד וַֽיְהִי־עֶ֥רֶב וַֽיְהִי־בֹ֖קֶר י֥וֹם הַשִּׁשִּֽׁי׃	wayyar ʾĕlōhīm ʾeṯ-kol-ʾăšer ʿāśā wəhinnē-ṭōḇ məʾōḏ wáyhī-ʿéreḇ wáyhī-ḇṓqer yōm haššiššī.
-- implicit ktiv/qre that would be nice to have
הִוא	hī
יְרוּשָׁלִַם	yərūšāláyim
יְר֣וּשָׁלִַ֔ם	yərūšāláyim -- with accent: incorrect order with no combining grapheme joiner
יְרוּשָׁלִָם	yərūšālā́yim -- pausal form
יְרוּשָׁלָֽ͏ִם	yərūšālā́yim -- with meteg and combining grapheme joiner (which keeps meteg between vowel points)
יְרוּשָׁלְַמָה	yərūšāláymā
יְרוּשָׁלְָמָה	yərūšālā́ymā
-- ktiv male tests
חַיָּיב	ḥayyāḇ
חַוָּוה	ḥawwā
הֱוֵוה	hĕwē
הַיְינוּ	haynū
הִתְכַּוְּונוּ	hiṯkawwənū
גַּוְונָא	gawnā
מְייוּחָד	məyūḥāḏ -- there is no way to tell that it really should be məyuḥāḏ, but anyway this test is for the double yod
כְּדַאי	kəḏay
כּוּלָּם	kullām -- shuruk does not necessarily imply a long vowel
קִידּוּשׁ	qiddūš -- chiriq male does not necessarily imply a long vowel
-- כל
כָּל	kol
כָּל כָּל כָּל	kol kol kol
כָּל הַכָּבוֹד	kol hakkāḇōḏ
כָל	ḵol
בְּלִי כָל מְאוּם	bəlī ḵol məʾūm
מִכָּל	mikkol
מִכָּל מָקוֹם	mikkol māqōm
בְּכָל	bəḵol
בְּכָל מָקוֹם	bəḵol māqōm
לְכָל	ləḵol
לְכָל מָקוֹם	ləḵol māqōm
כְּכָל	kəḵol
כְּכָל הַנִּרְאֶה	kəḵol hannirʾe
שֶׁכָּל	šekkol
שֶׁכָּל מָקוֹם	šekkol māqōm
שֶׁמִּכָּל	šemmikkol
שֶׁמִּכָּל מָקוֹם	šemmikkol māqōm
שֶׁבְּכָל	šebbəḵol
שֶׁבְּכָל מָקוֹם	šebbəḵol māqōm
שֶׁלְּכָל	šelləḵol
שֶׁלְּכָל מָקוֹם	šelləḵol māqōm
וְכָל	wəḵol
וְכָל מָקוֹם	wəḵol māqōm
וּבְכָל	ūḇəḵol
וּבְכָל מָקוֹם	ūḇəḵol māqōm
וּכְכָל	ūḵəḵol
וּכְכָל מָקוֹם	ūḵəḵol māqōm
הַכָּל	hakkol
בַּכָּל	bakkol
לַכָּל	lakkol
מֵהַכָּל	mēhakkol
שֶׁהַכָּל	šehakkol
שֶׁבַּכָּל	šebbakkol
שֶׁלַּכָּל	šellakkol
וְהַכָּל	wəhakkol
וּבַכָּל	ūḇakkol
וְלַכָּל	wəlakkol
וְכַכָּל	wəḵakkol
דְּכָל	dəḵol
שַׁכָּל	šakkol
-- not kol
כָּלָה	kālā
הֵיכָל	hēḵāl
מַאֲכָל	maʾăḵāl
מִיכָל	mīḵāl
מְכָל	məḵāl
שָׁכָל	šāḵāl
שֻׁכָּל	šukkāl
מוּכָל	mūḵāl
-- rare word-internal he mater-lectionis (for fun)
פְּדָהצוּר	pəḏāṣūr
עֲשָׂהאֵל	ʿăśāʾēl
]]

-- The above can be regenerated with this code in ]:
--[[
local examples = {} -- paste examples table here

function tests:run_tests()
	local output = require "Module:array"()
	for _, row in ipairs(examples) do
		if type(row) == "string" then
			output:insert("-- " .. row)
		else
			if row then
				output:insert(row .. "\t" .. row .. " -- " .. row)
			else
				output:insert(row .. "\t" .. row)
			end
		end
	end
	return require "Module:debug".highlight(output:concat("\n"), { lang = "text" })
end
--]]

local tests = require('Module:UnitTests')

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

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*(+)%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

local function add_qamats_qatan_comments(examples)
	local qamats_qatan = mw.ustring.char(0x05C7)
	for _, example in ipairs(examples) do
		if type(example) == "table" and example:find(qamats_qatan, 1, true) then
			example = (example and example .. "; " or "") .. "with qamats qatan code point"
		end
	end
	return examples
end

function tests:test_translit()
	self:iterate(
		add_qamats_qatan_comments(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