summaryrefslogtreecommitdiff
path: root/src/testdir/test_vim9_script.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-07-11 17:55:01 +0200
committerBram Moolenaar <Bram@vim.org>2021-07-11 17:55:01 +0200
commit648594eaf703fe9a862cb12a35702a10aff6e5a9 (patch)
tree10c97df4f865c248292f255d496d794ecedc5ec5 /src/testdir/test_vim9_script.vim
parentc03fe66ade4c79a4eb5fc05d1d549c8f931a04b6 (diff)
downloadvim-git-648594eaf703fe9a862cb12a35702a10aff6e5a9.tar.gz
patch 8.2.3147: Vim9: profiling does not work with a nested functionv8.2.3147
Problem: Vim9: profiling does not work with a nested function. Solution: Also compile a nested function without profiling. (closes #8543) Handle that compiling may cause the table of compiled functions to change.
Diffstat (limited to 'src/testdir/test_vim9_script.vim')
-rw-r--r--src/testdir/test_vim9_script.vim16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 0602b2ae5..10f41c7bf 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -4177,19 +4177,29 @@ def Test_xxx_echoerr_line_number()
CheckDefExecAndScriptFailure(lines, 'some error continued', 1)
enddef
-def ProfiledFunc()
+def ProfiledWithLambda()
var n = 3
echo [[1, 2], [3, 4]]->filter((_, l) => l[0] == n)
enddef
+def ProfiledNested()
+ var x = 0
+ def Nested(): any
+ return x
+ enddef
+ Nested()
+enddef
+
" Execute this near the end, profiling doesn't stop until Vim exists.
" This only tests that it works, not the profiling output.
def Test_xx_profile_with_lambda()
CheckFeature profile
profile start Xprofile.log
- profile func ProfiledFunc
- ProfiledFunc()
+ profile func ProfiledWithLambda
+ ProfiledWithLambda()
+ profile func ProfiledNested
+ ProfiledNested()
enddef
" Keep this last, it messes up highlighting.