Modul:Hani-sortkey/testcases

local tests = require("Module:UnitTests")
local makeSortKey = require("Module:Hani-sortkey").makeSortKey
local full_link = require("Module:links").full_link
local zh = require("Module:languages").getByCode("zh")

local function link(str)
	return full_link{ term = str, lang = zh }
end

local function code(str)
	return '<code>' .. str .. '</code>'
end

local options = { display = code }
function tests:check(example, expected)
	self:equals(link(example),
		makeSortKey(example),
		expected,
		options)
end

function tests:test()
	local examples = {
		{ "PS/2接口", "PS/2手08口00" },
		{ "命裡有時終須有,命裡無時莫強求", "口05衣07月02日06糸05頁03月02,口05衣07火08日06艸07弓08水02" },
		{ "⿺辶⿳穴⿲月⿱⿲幺言幺⿲長馬長刂心⿺辶⿳穴⿲月⿱⿲幺言幺⿲長馬長刂心麵", "辵54辵54麥09" },
	}
	self:iterate(examples, "check")
end

return tests