diff src/testdir/test_vim9_class.vim @ 31517:cd5247f4da06 v9.0.1091

patch 9.0.1091: assignment to non-existing member causes a crash Commit: https://github.com/vim/vim/commit/f54cedd6763e7727b4bfaeb34bb7c365a17675eb Author: Bram Moolenaar <Bram@vim.org> Date: Fri Dec 23 17:56:27 2022 +0000 patch 9.0.1091: assignment to non-existing member causes a crash Problem: Assignment to non-existing member causes a crash. (Yegappan Lakshmanan) Solution: Give an error message and bail out when a member cannot be found.
author Bram Moolenaar <Bram@vim.org>
date Fri, 23 Dec 2022 19:00:04 +0100
parents 560ba934725f
children 065e4ccf5e10
line wrap: on
line diff
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -111,6 +111,17 @@ def Test_class_basic()
   lines =<< trim END
       vim9script
       class Something
+        def new()
+          this.state = 0
+        enddef
+      endclass
+      var obj = Something.new()
+  END
+  v9.CheckScriptFailure(lines, 'E1089:')
+
+  lines =<< trim END
+      vim9script
+      class Something
         this.count : number
       endclass
   END
@@ -330,7 +341,9 @@ def Test_class_member_access()
       assert_equal(0, TextPos.counter)
       TextPos.AddToCounter(3)
       assert_equal(3, TextPos.counter)
+      assert_fails('echo TextPos.noSuchMember', 'E1338:')
 
+      assert_fails('TextPos.noSuchMember = 2', 'E1337:')
       assert_fails('TextPos.counter += 5', 'E1335')
   END
   v9.CheckScriptSuccess(lines)