diff options
| author | Bram Moolenaar <Bram@vim.org> | 2022-12-23 17:56:27 +0000 |
|---|---|---|
| committer | Bram Moolenaar <Bram@vim.org> | 2022-12-23 17:56:27 +0000 |
| commit | f54cedd6763e7727b4bfaeb34bb7c365a17675eb (patch) | |
| tree | f7694b9fb1d728559280da02af945f3609357cc4 /src/testdir | |
| parent | c9207d5d79310bd4628ce46d8db588fac17878a0 (diff) | |
| download | vim-git-9.0.1091.tar.gz | |
patch 9.0.1091: assignment to non-existing member causes a crashv9.0.1091
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.
Diffstat (limited to 'src/testdir')
| -rw-r--r-- | src/testdir/test_vim9_class.vim | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim index f45e3fa6c..88128e745 100644 --- 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) |
