summaryrefslogtreecommitdiff
path: root/src/testdir
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-12-23 17:56:27 +0000
committerBram Moolenaar <Bram@vim.org>2022-12-23 17:56:27 +0000
commitf54cedd6763e7727b4bfaeb34bb7c365a17675eb (patch)
treef7694b9fb1d728559280da02af945f3609357cc4 /src/testdir
parentc9207d5d79310bd4628ce46d8db588fac17878a0 (diff)
downloadvim-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.vim13
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)