mirror of
https://github.com/kikito/inspect.lua.git
synced 2024-12-15 14:34:21 +00:00
tables working quite well, I am happy :)
This commit is contained in:
parent
b51be52bf0
commit
4e3eb102ed
19
inspect.lua
19
inspect.lua
@ -85,24 +85,23 @@ function Inspector:tabify(level)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function Inspector:addTable(t, level)
|
function Inspector:addTable(t, level)
|
||||||
|
local length, needsComma = #t, false
|
||||||
self:puts('{')
|
self:puts('{')
|
||||||
local length = #t
|
|
||||||
local needsComma = false
|
|
||||||
for i=1, length do
|
for i=1, length do
|
||||||
if i > 1 then
|
if needsComma then self:puts(', ') end
|
||||||
self:puts(', ')
|
needsComma = true
|
||||||
needsComma = true
|
|
||||||
end
|
|
||||||
self:addValue(t[i], level + 1)
|
self:addValue(t[i], level + 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
local dictKeys, k, v = getDictionaryKeys(t)
|
local dictKeys = getDictionaryKeys(t)
|
||||||
|
|
||||||
for i=1, #dictKeys do
|
for _,k in ipairs(dictKeys) do
|
||||||
if needsComma then self:puts(',') end
|
if needsComma then self:puts(',') end
|
||||||
needsComma = true
|
needsComma = true
|
||||||
k = dictKeys[i]
|
self:tabify(level+1)
|
||||||
self:tabify(level+1):addKey(k, level + 1):puts(' = '):addValue(t[k], level + 1)
|
self:addKey(k, level + 1)
|
||||||
|
self:puts(' = ')
|
||||||
|
self:addValue(t[k], level + 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
if #dictKeys > 0 then self:tabify(level) end
|
if #dictKeys > 0 then self:tabify(level) end
|
||||||
|
@ -46,7 +46,6 @@ context( 'inspect', function()
|
|||||||
|
|
||||||
context('tables', function()
|
context('tables', function()
|
||||||
|
|
||||||
|
|
||||||
test('Should work with simple array-like tables', function()
|
test('Should work with simple array-like tables', function()
|
||||||
assert_equal(inspect({1,2,3}), "{1, 2, 3}" )
|
assert_equal(inspect({1,2,3}), "{1, 2, 3}" )
|
||||||
end)
|
end)
|
||||||
@ -60,14 +59,22 @@ context( 'inspect', function()
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
test('Should work with nested dictionary tables', function()
|
test('Should work with nested dictionary tables', function()
|
||||||
nestedDict = [[{
|
assert_equal(inspect( {d=3, b={c=2}, a=1} ), [[{
|
||||||
a = 1,
|
a = 1,
|
||||||
b = {
|
b = {
|
||||||
c = 2
|
c = 2
|
||||||
},
|
},
|
||||||
d = 3
|
d = 3
|
||||||
}]]
|
}]])
|
||||||
assert_equal(inspect( {a=1, b={c=2}, d=3} ), nestedDict)
|
end)
|
||||||
|
|
||||||
|
test('Should work with hybrid tables', function()
|
||||||
|
assert_equal(inspect({ 'a', {b = 1}, 2, c = 3, ['ahoy you'] = 4 }), [[{"a", {
|
||||||
|
b = 1
|
||||||
|
}, 2,
|
||||||
|
["ahoy you"] = 4,
|
||||||
|
c = 3
|
||||||
|
}]])
|
||||||
end)
|
end)
|
||||||
|
|
||||||
end)
|
end)
|
||||||
|
Loading…
Reference in New Issue
Block a user