diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-02-23 22:12:02 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-02-23 22:12:02 +0000 |
commit | dea5ab0fc5bb51105078d5349f987496b1aa8d6f (patch) | |
tree | 9effcbd78f12bdfe98b081b3507dd08c5843ec9a /src/testdir/test_vim9_func.vim | |
parent | fa02616718103be3f9e13e26d57905d4eddf836d (diff) | |
download | vim-git-dea5ab0fc5bb51105078d5349f987496b1aa8d6f.tar.gz |
patch 8.2.4460: Vim9: wrong error for defining dict functionv8.2.4460
Problem: Vim9: wrong error for defining dict function.
Solution: Explicitly check for trying to define a dict function.
(closes 9827)
Diffstat (limited to 'src/testdir/test_vim9_func.vim')
-rw-r--r-- | src/testdir/test_vim9_func.vim | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim index 81a67d97f..74883975b 100644 --- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -106,6 +106,63 @@ def Test_wrong_function_name() enddef END v9.CheckScriptFailure(lines, 'E1267:') + + lines =<< trim END + vim9script + var Object = {} + function Object.Method() + endfunction + END + v9.CheckScriptFailure(lines, 'E1182:') + + lines =<< trim END + vim9script + var Object = {} + def Object.Method() + enddef + END + v9.CheckScriptFailure(lines, 'E1182:') + + lines =<< trim END + vim9script + g:Object = {} + function g:Object.Method() + endfunction + END + v9.CheckScriptFailure(lines, 'E1182:') + + lines =<< trim END + let s:Object = {} + def Define() + function s:Object.Method() + endfunction + enddef + defcompile + END + v9.CheckScriptFailure(lines, 'E1182:') + delfunc g:Define + + lines =<< trim END + let s:Object = {} + def Define() + def Object.Method() + enddef + enddef + defcompile + END + v9.CheckScriptFailure(lines, 'E1182:') + delfunc g:Define + + lines =<< trim END + let g:Object = {} + def Define() + function g:Object.Method() + endfunction + enddef + defcompile + END + v9.CheckScriptFailure(lines, 'E1182:') + delfunc g:Define enddef def Test_autoload_name_mismatch() |