aboutsummaryrefslogtreecommitdiff
path: root/spec/outputs/test/try_catch_spec.lua
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2026-01-22 15:03:12 +0800
committerLi Jin <dragon-fly@qq.com>2026-01-22 15:03:12 +0800
commitf1454bbbd13a71da2005ff789cde2da0e9eb81f6 (patch)
tree37131187f4218dd3ebec049101c28a161e7ca289 /spec/outputs/test/try_catch_spec.lua
parent604a8e5e53cdc7391a502fcabf07e8f1cc2a778c (diff)
downloadyuescript-main.tar.gz
yuescript-main.tar.bz2
yuescript-main.zip
Adding tests.HEADmain
Diffstat (limited to 'spec/outputs/test/try_catch_spec.lua')
-rw-r--r--spec/outputs/test/try_catch_spec.lua17
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/outputs/test/try_catch_spec.lua b/spec/outputs/test/try_catch_spec.lua
new file mode 100644
index 0000000..2bcfc16
--- /dev/null
+++ b/spec/outputs/test/try_catch_spec.lua
@@ -0,0 +1,17 @@
1return describe("try/catch", function()
2 return it("catch and rethrow", function()
3 local ok, success, err = pcall(function()
4 return xpcall(function()
5 return error("boom")
6 end, function(e)
7 local _, result = pcall(function()
8 return error("wrap:" .. e:match("^.-:%d+:%s*(.*)$"))
9 end)
10 return result
11 end)
12 end)
13 assert.same(ok, true)
14 assert.same(success, false)
15 return assert.is_true(err:match("wrap:boom") ~= nil)
16 end)
17end)