Skip to content

Commit 1b1f03a

Browse files
sfan5MoNTE48
authored andcommitted
Add tests for worldedit.lua/luatransform
1 parent affe867 commit 1b1f03a

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

worldedit/code.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ function worldedit.luatransform(pos1, pos2, code)
5151
while pos.z <= pos2.z do
5252
local good, err = pcall(func, pos)
5353
if not good then -- Runtime error
54-
return err
54+
return tostring(err)
5555
end
5656
pos.z = pos.z + 1
5757
end

worldedit/test.lua

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,43 @@ do
542542
end
543543
end
544544

545+
546+
register_test("Code")
547+
register_test("worldedit.lua", function()
548+
-- syntax error
549+
local err, ret = worldedit.lua("?")
550+
assert(ret == nil)
551+
assert(err:find("unexpected symbol"))
552+
553+
-- runtime error
554+
local err, ret = worldedit.lua("error(1234)")
555+
assert(ret == nil)
556+
assert(err:find("1234"))
557+
558+
-- normal operation
559+
local err, ret = worldedit.lua("return name..tostring(player == nil)..tostring(pos == nil)", "nobody")
560+
assert(err == nil)
561+
assert(ret == "\"nobodytruetrue\"")
562+
end)
563+
564+
register_test("worldedit.luatransform", function()
565+
local pos1, pos2 = area.get(2)
566+
567+
-- syntax error
568+
local err = worldedit.luatransform(pos1, pos2, "?")
569+
assert(err:find("unexpected symbol"))
570+
571+
-- runtime error
572+
local err = worldedit.luatransform(pos1, pos2, "error(2345)")
573+
assert(err:find("2345"))
574+
575+
-- normal operation
576+
local err = worldedit.luatransform(pos1, pos2,
577+
"minetest.swap_node(pos, {name=" .. ("%q"):format(testnode1) .. "})")
578+
assert(err == nil)
579+
check.filled(pos1, pos1, testnode1)
580+
end)
581+
545582
---------------------
546583
-- Main function
547584
---------------------

0 commit comments

Comments
 (0)