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

local tests = require('Module:UnitTests')
local lo_translit = require('Module:lo-translit')

function tests:check_tr(Laoo, Latn)
	return self:equals(
		('<span class="Laoo" lang="lo">[[%s#Lao|%s]]</span>'):format(Laoo, Laoo),
		lo_translit.tr(Laoo, 'lo', 'Laoo', true),
		Latn
	)
end

function tests:check_tr_syll(Laoo, syllables)
	return self:equals(
		('<span class="Laoo" lang="lo">[[%s#Lao|%s]]</span>'):format(Laoo, Laoo),
		lo_translit.split_syll(Laoo, true),
		syllables
	)
end

local examples = {
	
	{ "ໃຫຍ່", "ໃຫຍ່", "ngai" },
	{ "ຫ້ອງ", "ຫ້ອງ", "hǭng" },
	{ "ຫວຍ", "ຫວຍ", "hūai" },
	{ "ອາຫານວ່າງ", "ອາ-ຫານ-ວ່າງ", "ʼā hān wāng" },
	{ "ກິໂລກຼາມ", "ກິ-ໂລ-ກຼາມ", "ki lō krām" },
	{ "ອຸບັດເຫດ", "ອຸ-ບັດ-ເຫດ", "ʼu bat hēt" },
	{ "ຫອຍນ້ຳຈືດ", "ຫອຍ-ນ້ຳ-ຈືດ", "hǭi nam chư̄t" },
	{ "ຫອຍ", "ຫອຍ", "hǭi" },
	{ "ຫອຽ", "ຫອຽ", "hǭi" },
	{ "ກະໂຫລກ", "ກະ-ໂຫລກ", "ka lōk" },
	{ "ມາເຊດວນ", "ມາ-ເຊ-ດວນ", "mā sē dūan" },
	{ "ຄຸຍ", "ຄຸຍ", "khui" },
	{ "ແລ້ວ", "ແລ້ວ", "lǣu" },
	{ "ຮ້ອຽແກ້ວ", "ຮ້ອຽ-ແກ້ວ", "hǭi kǣu" },
	{ "ເຂົ້າຈີ່ຝຣັ່ງ", "ເຂົ້າ-ຈີ່-ຝ-ຣັ່ງ", "khao chī fa rang" },
	{ "ຫວຍທວາຍ", "ຫວຍ-ທວາຍ", "hūai thuāi" },
	{ "ການປະຕິວັດ", "ການ-ປະ-ຕິ-ວັດ", "kān pa ti wat" },
	{ "ດ້າຽ", "ດ້າຽ", "dāi" },
	{ "ກາບຫອຍທະເລ", "ກາບ-ຫອຍ-ທະ-ເລ", "kāp hǭi tha lē" },
	{ "ຄາວຽກ", "ຄາ-ວຽກ", "khā wīak" },
	{ "ເຂົ້າຊອຍ", "ເຂົ້າ-ຊອຍ", "khao sǭi" },
	{ "ຂາຽ", "ຂາຽ", "khāi" },
	{ "ຫ້ອງ", "ຫ້ອງ", "hǭng" },
	{ "ຫອຍນາງລົມ", "ຫອຍ-ນາງ-ລົມ", "hǭi nāng lom" },
	{ "ຄວາຍ", "ຄວາຍ", "khuāi" },
	{ "ເປືອຍ", "ເປືອຍ", "pư̄ai" },
	{ "ແຈ່ວບອງ", "ແຈ່ວ-ບອງ", "chǣu bǭng" },
	{ "ແຫ້ງ", "ແຫ້ງ", "hǣng" },
	{ "ສົງກຣານ", "ສົງ-ກຣານ", "song krān" },
	{ "ອິ່ມແລ້ວ", "ອິ່ມ-ແລ້ວ", "ʼim lǣu" },
	{ "ຄືນຫລັໍງ", "ຄືນ-ຫລັໍງ", "khư̄n lang" },
	{ "ນິວັດ", "ນິ-ວັດ", "ni wat" },
	{ "ແນວໃດ", "ແນວ-ໃດ", "nǣu dai" },
	{ "ໝໍປົວແຂ້ວ", "ໝໍ-ປົວ-ແຂ້ວ", "mǭ pūa khǣu" },
	{ "ແຫນງ", "ແຫນງ", "nǣng" },
	{ "ແກ້ວ", "ແກ້ວ", "kǣu" },
	{ "ຕຸ້ຍ", "ຕຸ້ຍ", "tui" },
	{ "ຫນ່ອຍ", "ຫນ່ອຍ", "nǭi" },
	{ "ຫ້ອງເຢັນ", "ຫ້ອງ-ເຢັນ", "hǭng yen" },
	{ "ອານຸສາວະລີ", "ອາ-ນຸ-ສາ-ວະ-ລີ", "ʼā nu sā wa lī" },
	{ "ກ້ວຍ", "ກ້ວຍ", "kuāi" },
	{ "ເວັບເບຣົາວ໌ເຊີຣ໌", "ເວັບ-ເບ-ຣົາວ໌-ເຊີຣ໌", "wep bē rua<small><del>u</del></small> sœ̄<small><del>n</del></small>" },
	{ "ແຂວງ", "ແຂວງ", "khuǣng" },
	{ "ຍ່ອຽ", "ຍ່ອຽ", "nyǭi" },
	{ "ກີ່ວ", "ກີ່ວ", "kīu" },
	{ "ກົວລາລໍາເປີ", "ກົວ-ລາ-ລໍາ-ເປີ", "kūa lā lam pœ̄" },
	{ "ສະຫະລັດອະເມລິກາ", "ສະ-ຫະ-ລັດ-ອະ-ເມ-ລິ-ກາ", "sa ha lat ʼa mē li kā" },
	{ "ປະເທດອິນເດຍ", "ປະ-ເທດ-ອິນ-ເດຍ", "pa thēt ʼin dīa" },
	{ "ສຍາມ", "ສ-ຍາມ", "sa nyām" },
	{ "ການເມືອງ", "ການ-ເມືອງ", "kān mư̄ang" },
	{ "ຊົນນະບົດ", "ຊົນ-ນະ-ບົດ", "son na bot" },
	{ "ທິດຕາເວັນອອກ", "ທິດ-ຕາ-ເວັນ-ອອກ", "thit tā wen ʼǭk" },
	{ "ທະນາຄານ", "ທະ-ນາ-ຄານ", "tha nā khān" },
	{ "ຄວາມໝາຍ", "ຄວາມ-ໝາຍ", "khuām māi" },
	{ "ພະໂພທິສັດ", "ພະ-ໂພ-ທິ-ສັດ", "pha phō thi sat" },
	{ "ທາງຫຼວງ", "ທາງ-ຫຼວງ", "thāng lūang" },
	{ "ມຶງ", "ມຶງ", "mưng" },
	{ "ເຂົາ", "ເຂົາ", "khao" },
	{ "ເຂືອ", "ເຂືອ", "khư̄a" },
	{ "ຂ້ອຍ", "ຂ້ອຍ", "khǭi" },
	{ "ກວຽນ", "ກວຽນ", "kuīan" },
	{ "ກະດານ", "ກະ-ດານ", "ka dān" },
	{ "ຈະເຣີນອາຫານ", "ຈະ-ເຣີນ-ອາ-ຫານ", "cha rœ̄n ʼā hān" },
	{ "ເຈົ້າ", "ເຈົ້າ", "chao" },
	{ "ໃນເວລາທີ່", "ໃນ-ເວ-ລາ-ທີ່", "nai wē lā thī" },
	{ "ໂຮງຫັດຖະກັມ", "ໂຮງ-ຫັດ-ຖະ-ກັມ", "hōng hat tha kam" },
	{ "ການຕໍ່ສູ້ກັບ", "ການ-ຕໍ່-ສູ້-ກັບ", "kān tǭ sū kap" },
	{ "ພາສາໄຕ", "ພາ-ສາ-ໄຕ", "phā sā tai" },
	{ "ພາສາລາວສືບທອດມາຈາກ", "ພາ-ສາ-ລາວ-ສືບ-ທອດ-ມາ-ຈາກ", "phā sā lāo sư̄p thǭt mā chāk" },
	{ "ຢູ່ພາກໃຕ້ຂອງຈີນເຊິ່ງເປັນຈຸດດັ່ງເດີມຂອງຫຼາຍພາສາຕ່າງໆ", "ຢູ່-ພາກ-ໃຕ້-ຂອງ-ຈີນ-ເຊິ່ງ-ເປັນ-ຈຸດ-ດັ່ງ-ເດີມ-ຂອງ-ຫຼາຍ-ພາ-ສາ-ຕ່າງໆ", "yū phāk tai khǭng chīn sœng pen chut dang dœ̄m khǭng lāi phā sā tāng <small><u>tāng</u></small>" },
	{ "ທີ່ຍັງໃຊ້ແລະເວົ້າຢູ່ໂດຍຫຼາຍຊົນເຜົ່າ", "ທີ່-ຍັງ-ໃຊ້-ແລະ-ເວົ້າ-ຢູ່-ໂດຍ-ຫຼາຍ-ຊົນ-ເຜົ່າ", "thī nyang sai læ wao yū dōi lāi son phao" },
	{ "ເນື່ອງຈາກຖືກຄວາມກົດດັນຈາກການຂະຫຍາຍຕົວຂອງອານາຈັກຈີນ", "ເນື່ອງ-ຈາກ-ຖືກ-ຄວາມ-ກົດ-ດັນ-ຈາກ-ການ-ຂະ-ຫຍາຍ-ຕົວ-ຂອງ-ອາ-ນາ-ຈັກ-ຈີນ", "nư̄ang chāk thư̄k khuām kot dan chāk kān kha nyāi tūa khǭng ʼā nā chak chīn" },
	{ "ວຽງຈັນ", "ວຽງ-ຈັນ", "wīang chan" },
	{ "ວຽງຈັນທນ໌", "ວຽງ-ຈັນ-ທນ໌", "wīang chan tha<small><del>n</del></small>" },
	{ "ລັດເຊັຽ", "ລັດ-ເຊັຽ", "lat sīa" },
	{ "໌", "໌", "" },
	{ "ຯ", "ຯ", "〃" },
}

function tests:test_tr()
	local translit_examples = {}
	for _, example in ipairs(examples) do
		table.insert(translit_examples, { example[1], example[3] })
	end
	return self:iterate(translit_examples, "check_tr")
end

function tests:test_tr_syll()
	local tr_syll_examples = {}
	for _, example in ipairs(examples) do
		table.insert(tr_syll_examples, { example[1], example[2] })
	end
	return self:iterate(tr_syll_examples, "check_tr_syll")
end

return tests