68 lines
1.4 KiB
Lua
68 lines
1.4 KiB
Lua
|
|
||
|
-- issue #10
|
||
|
local function inspect(options)
|
||
|
options = options or {}
|
||
|
return type(options)
|
||
|
end
|
||
|
assert(inspect(nil) == "table")
|
||
|
|
||
|
local function inspect(options)
|
||
|
options = options or setmetatable({}, {__mode = "test"})
|
||
|
return type(options)
|
||
|
end
|
||
|
assert(inspect(nil) == "table")
|
||
|
|
||
|
-- issue #16
|
||
|
local ok, msg = pcall(function()
|
||
|
local a = {}
|
||
|
a[nil] = 1
|
||
|
end)
|
||
|
assert(not ok and string.find(msg, "table index is nil", 1, true))
|
||
|
|
||
|
-- issue #19
|
||
|
local tbl = {1,2,3,4,5}
|
||
|
assert(#tbl == 5)
|
||
|
assert(table.remove(tbl) == 5)
|
||
|
assert(#tbl == 4)
|
||
|
assert(table.remove(tbl, 3) == 3)
|
||
|
assert(#tbl == 3)
|
||
|
|
||
|
-- issue #24
|
||
|
local tbl = {string.find('hello.world', '.', 0)}
|
||
|
assert(tbl[1] == 1 and tbl[2] == 1)
|
||
|
assert(string.sub('hello.world', 0, 2) == "he")
|
||
|
|
||
|
-- issue 33
|
||
|
local a,b
|
||
|
a = function ()
|
||
|
pcall(function()
|
||
|
end)
|
||
|
coroutine.yield("a")
|
||
|
return b()
|
||
|
end
|
||
|
|
||
|
b = function ()
|
||
|
return "b"
|
||
|
end
|
||
|
|
||
|
local co = coroutine.create(a)
|
||
|
assert(select(2, coroutine.resume(co)) == "a")
|
||
|
assert(select(2, coroutine.resume(co)) == "b")
|
||
|
assert(coroutine.status(co) == "dead")
|
||
|
|
||
|
-- issue 37
|
||
|
function test(a, b, c)
|
||
|
b = b or string.format("b%s", a)
|
||
|
c = c or string.format("c%s", a)
|
||
|
assert(a == "test")
|
||
|
assert(b == "btest")
|
||
|
assert(c == "ctest")
|
||
|
end
|
||
|
test("test")
|
||
|
|
||
|
-- issue 39
|
||
|
assert(string.match("あいうえお", ".*あ.*") == "あいうえお")
|
||
|
assert(string.match("あいうえお", "あいうえお") == "あいうえお")
|
||
|
|
||
|
-- issue 47
|
||
|
assert(string.gsub("A\nA", ".", "A") == "AAA")
|