File

tests/test_util_uuid.lua @ 8220:a1b0fa38fca7

util.pubsub: Don't record publisher when superuser privileges are used (eg by modules)
author Kim Alvefur <zash@zash.se>
date Sat, 29 Jul 2017 13:09:57 +0200
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