summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_vim9_import.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-01-15 18:26:04 +0000
committerBram Moolenaar <Bram@vim.org>2022-01-15 18:26:04 +0000
commite32c3c462ce9b3163a4a4bffd985897910885d29 (patch)
tree92ade56bf13a5d7fe440e20f3e35e57250f19b29 /src/testdir/test_vim9_import.vim
parent069613c9e8645acea3a128c15ebdbf56e2219d44 (diff)
patch 8.2.4099: Vim9: cannot use Vim9 syntax in mappingv8.2.4099
Problem: Vim9: cannot use Vim9 syntax in mapping. Solution: Add <ScriptCmd> to use the script context for a command.
Diffstat (limited to 'src/testdir/test_vim9_import.vim')
-rw-r--r--src/testdir/test_vim9_import.vim12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim
index 2e57fe2527..f5e449714f 100644
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -1337,6 +1337,9 @@ def Test_autoload_mapping()
export def Toggle(): string
return ":g:toggle_called = 'yes'\<CR>"
enddef
+ export def Doit()
+ g:doit_called = 'yes'
+ enddef
END
writefile(lines, 'Xdir/autoload/toggle.vim')
@@ -1346,6 +1349,8 @@ def Test_autoload_mapping()
import autoload 'toggle.vim'
nnoremap <silent> <expr> tt toggle.Toggle()
+ nnoremap <silent> xx <ScriptCmd>toggle.Doit()<CR>
+ nnoremap <silent> yy <Cmd>toggle.Doit()<CR>
END
CheckScriptSuccess(lines)
assert_false(exists("g:toggle_loaded"))
@@ -1355,7 +1360,14 @@ def Test_autoload_mapping()
assert_equal('yes', g:toggle_loaded)
assert_equal('yes', g:toggle_called)
+ feedkeys("xx", 'xt')
+ assert_equal('yes', g:doit_called)
+
+ assert_fails('call feedkeys("yy", "xt")', 'E121: Undefined variable: toggle')
+
nunmap tt
+ nunmap xx
+ nunmap yy
unlet g:toggle_loaded
unlet g:toggle_called
delete('Xdir', 'rf')