summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_vim9_class.vim
diff options
context:
space:
mode:
authorYegappan Lakshmanan <yegappan@yahoo.com>2023-11-02 20:57:32 +0100
committerChristian Brabandt <cb@256bit.org>2023-11-02 20:58:58 +0100
commit2b358adde079d7cc8a7f42fcd5627866641c9a59 (patch)
treecfd3290e4dc63d6866d779960b234c6c3989ca0b /src/testdir/test_vim9_class.vim
parentef9e3f8924363939ff45fa385f50f57146ff365c (diff)
patch 9.0.2085: Vim9: abstract can be used in interfacev9.0.2085
Problem: Vim9: abstract can be used in interface Solution: Disallow the use of abstract in an interface fixes: #13456 closes: #13464 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.vim21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index b3d9841247..1f639e2b3f 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -5567,7 +5567,26 @@ def Test_abstract_method()
enddef
endclass
END
- v9.CheckSourceSuccess(lines)
+ v9.CheckSourceFailure(lines, 'E1404: Abstract cannot be used in an interface', 3)
+
+ # Use abstract static method in an interface
+ lines =<< trim END
+ vim9script
+ interface A
+ abstract static def Foo()
+ enddef
+ endinterface
+ END
+ v9.CheckSourceFailure(lines, 'E1404: Abstract cannot be used in an interface', 3)
+
+ # Use abstract static variable in an interface
+ lines =<< trim END
+ vim9script
+ interface A
+ abstract static foo: number = 10
+ endinterface
+ END
+ v9.CheckSourceFailure(lines, 'E1404: Abstract cannot be used in an interface', 3)
# Abbreviate the "abstract" keyword
lines =<< trim END