4 Commits

Author SHA1 Message Date
rxi
076ca7972c Version 1.3.1 2014-04-23 20:11:00 +01:00
rxi
c2311f9821 Added missing tostring() call on args in lume.trace() 2014-04-19 09:06:33 +01:00
rxi
beced85d6b Updated test for lume.trace() 2014-04-18 19:16:33 +01:00
rxi
8a2765a41b Fixed lume.trace() to handle and print nil argument 2014-04-18 19:15:13 +01:00
2 changed files with 13 additions and 11 deletions

View File

@@ -7,7 +7,7 @@
-- under the terms of the MIT license. See LICENSE for details. -- under the terms of the MIT license. See LICENSE for details.
-- --
local lume = { _version = "1.3.0" } local lume = { _version = "1.3.1" }
local pairs, ipairs = pairs, ipairs local pairs, ipairs = pairs, ipairs
local type, assert, unpack = type, assert, unpack or table.unpack local type, assert, unpack = type, assert, unpack or table.unpack
@@ -34,6 +34,7 @@ local iscallable = function(x)
end end
function lume.clamp(x, min, max) function lume.clamp(x, min, max)
return x < min and min or (x > max and max or x) return x < min and min or (x > max and max or x)
end end
@@ -344,13 +345,14 @@ end
function lume.trace(...) function lume.trace(...)
local function stringify(x)
x = (type(x) == "number") and lume.round(x, .01) or x
return tostring(x)
end
local info = debug.getinfo(2, "Sl") local info = debug.getinfo(2, "Sl")
local head = "[" .. info.short_src .. ":" .. info.currentline .. "] " local t = { "[" .. info.short_src .. ":" .. info.currentline .. "]" }
print(head .. table.concat(lume.map({...}, stringify), " ")) for i = 1, select("#", ...) do
local x = select(i, ...)
x = (type(x) == "number") and lume.round(x, .01) or (x or "nil")
t[#t + 1] = tostring(x)
end
print(table.concat(t, " "))
end end

View File

@@ -359,11 +359,11 @@ tests["lume.trace"] = function()
print = function(x) print = function(x)
file, line, msg = x:match("%[(.-):(.-)%] (.*)") file, line, msg = x:match("%[(.-):(.-)%] (.*)")
end end
lume.trace("Hi world", 123.456, 1) lume.trace("Hi world", 123.456, 1, nil)
print = oldprint print = oldprint
testeq( file:match(".lua$"), ".lua" ) testeq( file:match(".lua$"), ".lua" )
testeq( tonumber(line) ~= nil, true ) testeq( tonumber(line) ~= nil, true )
testeq( msg, "Hi world 123.46 1" ) testeq( msg, "Hi world 123.46 1 nil" )
end end
-- lume.dostring -- lume.dostring