Documentation for this module may be created at Module:uk-translit/testcases/doc

local tests = require("Module:UnitTests")
local uk_translit = require("Module:uk-translit")

function tests:check_translit(Cyrl, Latn)
	self:equals(('<span lang="uk" class="Cyrl mention">[[%s#Ukrainian|%s]]</span>'):format(Cyrl, Cyrl), uk_translit.tr(Cyrl, 'uk', 'Cyrl'), Latn)
end

function tests:test_translit()
	local examples = {
		{ "Алушта"      , "Alušta" },
		{ "Андрій"      , "Andrij" },
		{ "Борщагівка"  , "Borščahivka" },
		{ "Борисенко"   , "Borysenko" },
		{ "Вінниця"     , "Vinnycja" },
		{ "Володимир"   , "Volodymyr" },
		{ "Гадяч"       , "Hadjač" },
		{ "Богдан"      , "Bohdan" },
		{ "Згурський"   , "Zhursʹkyj" },
		{ "Згорани"     , "Zhorany" },
		{ "Розгон"      , "Rozhon" },
		{ "Ґалаґан"     , "Galagan" },
		{ "Ґорґани"     , "Gorgany" },
		{ "Донецьк"     , "Donecʹk" },
		{ "Дмитро"      , "Dmytro" },
		{ "Рівне"       , "Rivne" },
		{ "Олег"        , "Oleh" },
		{ "Есмань"      , "Esmanʹ" },
		{ "Єнакієве"    , "Jenakijeve" },
		{ "Гаєвич"      , "Hajevyč" },
		{ "Короп’є"     , "Koropʺje" },
		{ "Коропʼє"     , "Koropʺje" },
		{ "Короп'є"     , "Koropʺje" },
		{ "Житомир"     , "Žytomyr" },
		{ "Жанна"       , "Žanna" },
		{ "Жежелів"     , "Žeželiv" },
		{ "Закарпаття"  , "Zakarpattja" },
		{ "Казимирчук"  , "Kazymyrčuk" },
		{ "Медвин"      , "Medvyn" },
		{ "Михайленко"  , "Myxajlenko" },
		{ "Іванків"     , "Ivankiv" },
		{ "Іващенко"    , "Ivaščenko" },
		{ "Їжакевич"    , "Jižakevyč" },
		{ "Кадиївка"    , "Kadyjivka" },
		{ "Мар’їне"     , "Marʺjine" },
		{ "Марʼїне"     , "Marʺjine" },
		{ "Мар'їне"     , "Marʺjine" },
		{ "Йосипівка"   , "Josypivka" },
		{ "Стрий"       , "Stryj" },
		{ "Олексій"     , "Oleksij" },
		{ "Київ"        , "Kyjiv" },
		{ "Коваленко"   , "Kovalenko" },
		{ "Лебедин"     , "Lebedyn" },
		{ "Леонід"      , "Leonid" },
		{ "Миколаїв"    , "Mykolajiv" },
		{ "Маринич"     , "Marynyč" },
		{ "Ніжин"       , "Nižyn" },
		{ "Наталія"     , "Natalija" },
		{ "Одеса"       , "Odesa" },
		{ "Онищенко"    , "Onyščenko" },
		{ "Полтава"     , "Poltava" },
		{ "Петро"       , "Petro" },
		{ "Решетилівка" , "Rešetylivka" },
		{ "Рибчинський" , "Rybčynsʹkyj" },
		{ "Суми"        , "Sumy" },
		{ "Соломія"     , "Solomija" },
		{ "Тернопіль"   , "Ternopilʹ" },
		{ "Троць"       , "Trocʹ" },
		{ "Ужгород"     , "Užhorod" },
		{ "Уляна"       , "Uljana" },
		{ "Фастів"      , "Fastiv" },
		{ "Філіпчук"    , "Filipčuk" },
		{ "Харків"      , "Xarkiv" },
		{ "Христина"    , "Xrystyna" },
		{ "Біла Церква" , "Bila Cerkva" },
		{ "Стеценко"    , "Stecenko" },
		{ "Чернівці"    , "Černivci" },
		{ "Шевченко"    , "Ševčenko" },
		{ "Шостка"      , "Šostka" },
		{ "Кишеньки"    , "Kyšenʹky" },
		{ "Щербухи"     , "Ščerbuxy" },
		{ "Гоща"        , "Hošča" },
		{ "Гаращенко"   , "Haraščenko" },
		{ "Юрій"        , "Jurij" },
		{ "Корюківка"   , "Korjukivka" },
		{ "Яготин"      , "Jahotyn" },
		{ "Ярошенко"    , "Jarošenko" },
		{ "Костянтин"   , "Kostjantyn" },
		{ "Знам’янка"   , "Znamʺjanka" },
		{ "Знамʼянка"   , "Znamʺjanka" },
		{ "Знам'янка"   , "Znamʺjanka" },
		{ "Феодосія"    , "Feodosija" },
		{ "переноситцьа", "perenosytcʹa"},
		{ "јагодоју"    , "jahodoju"},
	}
	self:iterate(examples, "check_translit")
end

return tests