Mercurial > vim
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)