diff options
author | Yegappan Lakshmanan <yegappan@yahoo.com> | 2024-04-04 19:35:59 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2024-04-04 19:35:59 +0200 |
commit | 3e33650b3a9939f6b942c1d1eccdb261ea17a647 (patch) | |
tree | 167bd86efdf040f2866be1547d356a612b5aa2ea /src/testdir/test_vim9_class.vim | |
parent | bd28cae1f1c21c0e3743e3427c98bbd848fad237 (diff) |
patch 9.1.0261: Vim9: protected class and funcrefs accessible outside the classv9.1.0261
Problem: Vim9: protected class and funcrefs accessible outside the class
(Aliaksei Budavei)
Solution: Check if class and object funcrefs are protected
(Yegappan)
closes: #14407
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/testdir/test_vim9_class.vim')
-rw-r--r-- | src/testdir/test_vim9_class.vim | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim index 93481d55b8..6eafe00373 100644 --- a/src/testdir/test_vim9_class.vim +++ b/src/testdir/test_vim9_class.vim @@ -10530,4 +10530,27 @@ def Test_use_base_class_variable_from_base_class_method() v9.CheckScriptSuccess(lines) enddef +" Test for accessing protected funcref object and class variables +def Test_protected_funcref() + # protected funcref object variable + var lines =<< trim END + vim9script + class Test1 + const _Id: func(any): any = (v) => v + endclass + var n = Test1.new()._Id(1) + END + v9.CheckScriptFailure(lines, 'E1333: Cannot access protected variable "_Id" in class "Test1"', 5) + + # protected funcref class variable + lines =<< trim END + vim9script + class Test2 + static const _Id: func(any): any = (v) => v + endclass + var n = Test2._Id(2) + END + v9.CheckScriptFailure(lines, 'E1333: Cannot access protected variable "_Id" in class "Test2"', 5) +enddef + " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker |