Mercurial > vim
diff src/testdir/test_vim9_disassemble.vim @ 19862:846fbbacce3a v8.2.0487
patch 8.2.0487: Vim9: compiling not sufficiently tested
Commit: https://github.com/vim/vim/commit/bd5da371aafe5a2207065643502f4d1ff6b286c7
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Mar 31 23:13:10 2020 +0200
patch 8.2.0487: Vim9: compiling not sufficiently tested
Problem: Vim9: compiling not sufficiently tested.
Solution: Add more tests. Fix bug with PCALL.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 31 Mar 2020 23:15:04 +0200 |
parents | f03357f16ffc |
children | 50fa63ca3828 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_disassemble.vim +++ b/src/testdir/test_vim9_disassemble.vim @@ -224,6 +224,31 @@ def Test_disassemble_call() enddef +def EchoArg(arg: string): string + return arg +enddef +def RefThis(): func + return function('EchoArg') +enddef +def s:ScriptPCall() + RefThis()("text") +enddef + +def Test_disassemble_pcall() + let res = execute('disass s:ScriptPCall') + assert_match('<SNR>\d\+_ScriptPCall.*' + \ .. 'RefThis()("text").*' + \ .. '\d DCALL RefThis(argc 0).*' + \ .. '\d PUSHS "text".*' + \ .. '\d PCALL top (argc 1).*' + \ .. '\d PCALL end.*' + \ .. '\d DROP.*' + \ .. '\d PUSHNR 0.*' + \ .. '\d RETURN.*' + \, res) +enddef + + def FuncWithForwardCall(): string return DefinedLater("yes") enddef