From 0d98ccd02a37153aef1cbfb71ba9c103d43fbda7 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sun, 10 Jan 2016 03:35:00 +0100 Subject: tests: Add test for util.uuid (checks that the output format is correct) --- tests/test.lua | 1 + tests/test_util_uuid.lua | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 tests/test_util_uuid.lua diff --git a/tests/test.lua b/tests/test.lua index 87467e53..4f6c5335 100644 --- a/tests/test.lua +++ b/tests/test.lua @@ -22,6 +22,7 @@ function run_all_tests() dotest "util.sasl.scram" dotest "util.cache" dotest "util.throttle" + dotest "util.uuid" dosingletest("test_sasl.lua", "latin1toutf8"); dosingletest("test_utf8.lua", "valid"); diff --git a/tests/test_util_uuid.lua b/tests/test_util_uuid.lua new file mode 100644 index 00000000..d3f72bb4 --- /dev/null +++ b/tests/test_util_uuid.lua @@ -0,0 +1,24 @@ +-- 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 i = 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 + -- cgit v1.2.3