diff src/testdir/test_vim9_disassemble.vim @ 28287:dc68c111cf7a v8.2.4669

patch 8.2.4669: in compiled code len('string') is not inlined Commit: https://github.com/vim/vim/commit/58f331a05f5b7bdddf04e68b6e51a827fd0c43f0 Author: LemonBoy <thatlemon@gmail.com> Date: Sat Apr 2 21:59:06 2022 +0100 patch 8.2.4669: in compiled code len('string') is not inlined Problem: In compiled code len('string') is not inlined. Solution: Compute the length at compile time if possible. (closes https://github.com/vim/vim/issues/10065)
author Bram Moolenaar <Bram@vim.org>
date Sat, 02 Apr 2022 23:00:05 +0200
parents 9d90eef65a46
children d550054e1328
line wrap: on
line diff
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -1015,9 +1015,20 @@ def s:HasGuiRunning()
   endif
 enddef
 
+def s:LenConstant(): number
+  return len("foo") + len("fighters")
+enddef
+
 def Test_disassemble_const_expr()
+  var instr = execute('disassemble LenConstant')
+  assert_match('LenConstant\_s*' ..
+    'return len("foo") + len("fighters")\_s*' ..
+    '\d PUSHNR 11\_s*',
+    instr)
+  assert_notmatch('BCALL len', instr)
+
   assert_equal("\nyes", execute('HasEval()'))
-  var instr = execute('disassemble HasEval')
+  instr = execute('disassemble HasEval')
   assert_match('HasEval\_s*' ..
         'if has("eval")\_s*' ..
         'echo "yes"\_s*' ..