mirror of
https://github.com/bjc/prosody.git
synced 2025-04-01 20:27:39 +03:00
See https://www.ietf.org/blog/finalizing-ietf-tools-transition/ Already done in various other places.
25 lines
625 B
Lua
25 lines
625 B
Lua
-- This tests the format, not the randomness
|
|
|
|
local uuid = require "util.uuid";
|
|
|
|
describe("util.uuid", function()
|
|
describe("#generate()", function()
|
|
it("should work follow the UUID pattern", function()
|
|
-- https://www.rfc-editor.org/rfc/rfc4122.html#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),
|
|
}, "%-") .. "$";
|
|
|
|
for _ = 1, 100 do
|
|
assert.is_string(uuid.generate():match(pattern));
|
|
end
|
|
end);
|
|
end);
|
|
end);
|