summaryrefslogtreecommitdiff
path: root/src/testdir/test_vim9_func.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-02-23 22:12:02 +0000
committerBram Moolenaar <Bram@vim.org>2022-02-23 22:12:02 +0000
commitdea5ab0fc5bb51105078d5349f987496b1aa8d6f (patch)
tree9effcbd78f12bdfe98b081b3507dd08c5843ec9a /src/testdir/test_vim9_func.vim
parentfa02616718103be3f9e13e26d57905d4eddf836d (diff)
downloadvim-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.vim57
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()