53 lines
979 B
Lua
53 lines
979 B
Lua
--
|
|
-- tests/base/test_uuid.lua
|
|
-- Automated test suite for UUID generation.
|
|
-- Copyright (c) 2008-2012 Jason Perkins and the Premake project
|
|
--
|
|
|
|
local suite = test.declare("os_uuid")
|
|
|
|
|
|
--
|
|
-- Setup and teardown
|
|
--
|
|
|
|
local builtin_print, result
|
|
|
|
function suite.setup()
|
|
builtin_print = print
|
|
print = function(value)
|
|
result = value
|
|
end
|
|
end
|
|
|
|
function suite.teardown()
|
|
print = builtin_print
|
|
end
|
|
|
|
|
|
--
|
|
-- Make sure the return value looks like a UUID.
|
|
--
|
|
|
|
function suite.returnsValidUUID()
|
|
local g = os.uuid()
|
|
test.istrue(#g == 36)
|
|
for i=1,36 do
|
|
local ch = g:sub(i,i)
|
|
test.istrue(ch:find("[ABCDEF0123456789-]"))
|
|
end
|
|
test.isequal("-", g:sub(9,9))
|
|
test.isequal("-", g:sub(14,14))
|
|
test.isequal("-", g:sub(19,19))
|
|
test.isequal("-", g:sub(24,24))
|
|
end
|
|
|
|
|
|
--
|
|
-- Make sure the value returned is deterministic if a name is provided.
|
|
--
|
|
|
|
function suite.isDeterministic_onName()
|
|
test.isequal("885E8F4B-F43D-0EE7-FD55-99BD69B47448", os.uuid("MyValue"))
|
|
end
|