diff options
Diffstat (limited to 'src/testdir/test_vim9_disassemble.vim')
-rw-r--r-- | src/testdir/test_vim9_disassemble.vim | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim index e1042588c..2e541d9f9 100644 --- a/src/testdir/test_vim9_disassemble.vim +++ b/src/testdir/test_vim9_disassemble.vim @@ -533,6 +533,30 @@ def Test_disassemble_const_expr() assert_notmatch('JUMP', instr) enddef +def ReturnInIf(): string + if g:cond + return "yes" + else + return "no" + endif +enddef + +def Test_disassemble_return_in_if() + let instr = execute('disassemble ReturnInIf') + assert_match('ReturnInIf\_s*' .. + 'if g:cond\_s*' .. + '0 LOADG g:cond\_s*' .. + '1 JUMP_IF_FALSE -> 4\_s*' .. + 'return "yes"\_s*' .. + '2 PUSHS "yes"\_s*' .. + '3 RETURN\_s*' .. + 'else\_s*' .. + ' return "no"\_s*' .. + '4 PUSHS "no"\_s*' .. + '5 RETURN$', + instr) +enddef + def WithFunc() let Funky1: func let Funky2: func = function("len") |