Skip to content

Commit 0ec8521

Browse files
committed
tests: add test for 'elseif' generation
1 parent 0c1e3ab commit 0ec8521

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

spec/coder_spec.lua

+22
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,28 @@ describe("Titan code generator ", function()
305305
assert.truthy(ok, err)
306306
end)
307307

308+
it("generates code for 'elseif'", function()
309+
local code = [[
310+
function getval(a: integer): integer
311+
if a == 1 then
312+
return 10
313+
elseif a == 2 then
314+
return 20
315+
else
316+
return 30
317+
end
318+
end
319+
]]
320+
local ast, err = parser.parse(code)
321+
assert.truthy(ast, err)
322+
local ok, err = checker.check(ast, code, "test.titan")
323+
assert.truthy(ok, err)
324+
local ok, err = generate(ast, "titan_test")
325+
assert.truthy(ok, err)
326+
local ok, err = call("titan_test", "assert(titan_test.getval(1) == 10);assert(titan_test.getval(2) == 20);assert(titan_test.getval(3) == 30)")
327+
assert.truthy(ok, err)
328+
end)
329+
308330
pending("handles coercion to integer", function()
309331
local code = [[
310332
function fn(): integer

0 commit comments

Comments
 (0)