File

tests/test_util_uuid.lua @ 7568:4f7990902874

ejabberdsql2prosody: rename variable 't' to prevent shadowing upvalues [luacheck] Let's make the result of parseFile() have a more descriptive name.
author Anton Shestakov <av6@dwimlabs.net>
date Fri, 12 Aug 2016 13:51:38 +0800
parent 7512:7a655ff689b1
line wrap: on
line source

-- This tests the format, not the randomness

-- https://tools.ietf.org/html/rfc4122#section-4.4

local pattern = "^" .. table.concat({
	string.rep("%x", 8),
	string.rep("%x", 4),
	"4" .. -- version
	string.rep("%x", 3),
	"[89ab]" .. -- reserved bits of 1 and 0
	string.rep("%x", 3),
	string.rep("%x", 12),
}, "%-") .. "$";

function generate(generate)
	for _ = 1, 100 do
		assert_is(generate():match(pattern));
	end
end

function seed(seed)
	assert_equal(seed("random string here"), nil, "seed doesn't return anything");
end