File

tests/test_util_uuid.lua @ 8269:25237002aba4

mod_limits: Handle fractional outstanding balance values (caused by e3f7b6fa46ba) Fractional values were passed to string.sub() when doing buffer manipulations, and caused random bytes to be skipped in the stream.
author Matthew Wild <mwild1@gmail.com>
date Tue, 26 Sep 2017 17:48:33 +0100
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