Mercurial > vim
diff src/testdir/test_vim9_class.vim @ 31649:520857d1fda7 v9.0.1157
patch 9.0.1157: "implements" only handles one interface name
Commit: https://github.com/vim/vim/commit/df8f9473596c8fb18ec893de677dba455e8925b3
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jan 7 14:51:03 2023 +0000
patch 9.0.1157: "implements" only handles one interface name
Problem: "implements" only handles one interface name.
Solution: Handle a comma separated list of names. Check for duplicate
names.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 07 Jan 2023 16:00:05 +0100 |
parents | fc259e8db5bf |
children | ec76f9d2319e |
line wrap: on
line diff
--- a/src/testdir/test_vim9_class.vim +++ b/src/testdir/test_vim9_class.vim @@ -627,6 +627,19 @@ def Test_class_implements_interface() echo nr enddef endclass + + interface Another + this.member: string + endinterface + + class SomeImpl implements Some, Another + this.member = 'abc' + static count: number + def Method(nr: number) + echo nr + enddef + endclass + END v9.CheckScriptSuccess(lines) @@ -635,6 +648,32 @@ def Test_class_implements_interface() interface Some static counter: number + endinterface + + class SomeImpl implements Some implements Some + static count: number + endclass + END + v9.CheckScriptFailure(lines, 'E1350:') + + lines =<< trim END + vim9script + + interface Some + static counter: number + endinterface + + class SomeImpl implements Some, Some + static count: number + endclass + END + v9.CheckScriptFailure(lines, 'E1351: Duplicate interface after "implements": Some') + + lines =<< trim END + vim9script + + interface Some + static counter: number def Method(nr: number) endinterface