|
|
@ -1,6 +1,7 @@ |
|
|
|
local inspect = require 'inspect' |
|
|
|
local inspect = require 'inspect' |
|
|
|
local unindent = require 'spec.unindent' |
|
|
|
local unindent = require 'spec.unindent' |
|
|
|
local is_luajit, ffi = pcall(require, 'ffi') |
|
|
|
local is_luajit, ffi = pcall(require, 'ffi') |
|
|
|
|
|
|
|
local has_rawlen = type(_G.rawlen) == 'function' |
|
|
|
|
|
|
|
|
|
|
|
describe( 'inspect', function() |
|
|
|
describe( 'inspect', function() |
|
|
|
|
|
|
|
|
|
|
@ -74,6 +75,13 @@ describe( 'inspect', function() |
|
|
|
assert.equals('{ "a", "b", "c", { "d", "e" }, "f" }', inspect({'a','b','c', {'d','e'}, 'f'})) |
|
|
|
assert.equals('{ "a", "b", "c", { "d", "e" }, "f" }', inspect({'a','b','c', {'d','e'}, 'f'})) |
|
|
|
end) |
|
|
|
end) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if has_rawlen then |
|
|
|
|
|
|
|
it('handles arrays with a __len metatable correctly (ignoring the __len metatable and using rawlen)', function() |
|
|
|
|
|
|
|
local arr = setmetatable({1,2,3}, {__len = function() return nil end}) |
|
|
|
|
|
|
|
assert.equals("{ 1, 2, 3 }", inspect(arr)) |
|
|
|
|
|
|
|
end) |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
it('works with simple dictionary tables', function() |
|
|
|
it('works with simple dictionary tables', function() |
|
|
|
assert.equals("{\n a = 1,\n b = 2\n}", inspect({a = 1, b = 2})) |
|
|
|
assert.equals("{\n a = 1,\n b = 2\n}", inspect({a = 1, b = 2})) |
|
|
|
end) |
|
|
|
end) |
|
|
|