diff src/testdir/test_vim9_class.vim @ 32013:ec05de98b0f7 v9.0.1338

patch 9.0.1338: :defcompile and :disassemble can't find class method Commit: https://github.com/vim/vim/commit/99a7c0d89cf77c0a908b60191e63f41f04f9e793 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Feb 21 19:55:14 2023 +0000 patch 9.0.1338: :defcompile and :disassemble can't find class method Problem: :defcompile and :disassemble can't find class method. (Ernie Rael) Solution: Make a class name and class.method name work. (closes https://github.com/vim/vim/issues/11984)
author Bram Moolenaar <Bram@vim.org>
date Tue, 21 Feb 2023 21:00:05 +0100
parents 13329cb9faee
children b49db96c1e55
line wrap: on
line diff
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -842,6 +842,34 @@ def Test_class_function()
   v9.CheckScriptSuccess(lines)
 enddef
 
+def Test_class_defcompile()
+  var lines =<< trim END
+      vim9script
+
+      class C
+          def Fo(i: number): string
+              return i
+          enddef
+      endclass
+
+      defcompile C.Fo
+  END
+  v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected string but got number')
+
+  lines =<< trim END
+      vim9script
+
+      class C
+          static def Fc(): number
+            return 'x'
+          enddef
+      endclass
+
+      defcompile C.Fc
+  END
+  v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected number but got string')
+enddef
+
 def Test_class_object_to_string()
   var lines =<< trim END
       vim9script