Mercurial > vim
diff src/testdir/test_vim9_class.vim @ 32047:b49db96c1e55 v9.0.1355
patch 9.0.1355: no error when declaring a class twice
Commit: https://github.com/vim/vim/commit/83ae6150bf6bd313487b3a51f9be9836e8b9c20f
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Feb 25 19:59:31 2023 +0000
patch 9.0.1355: no error when declaring a class twice
Problem: No error when declaring a class twice. (Ernie Rael)
Solution: Pass different flags when declaring the class. (closes https://github.com/vim/vim/issues/12057)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 25 Feb 2023 21:00:04 +0100 |
parents | ec05de98b0f7 |
children | e8c60d35fce3 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_class.vim +++ b/src/testdir/test_vim9_class.vim @@ -164,6 +164,28 @@ def Test_class_basic() v9.CheckScriptSuccess(lines) enddef +def Test_class_defined_twice() + # class defined twice should fail + var lines =<< trim END + vim9script + class There + endclass + class There + endclass + END + v9.CheckScriptFailure(lines, 'E1041: Redefining script item: "There"') + + # one class, reload same script twice is OK + lines =<< trim END + vim9script + class There + endclass + END + writefile(lines, 'XclassTwice.vim', 'D') + source XclassTwice.vim + source XclassTwice.vim +enddef + def Test_class_interface_wrong_end() var lines =<< trim END vim9script @@ -1012,14 +1034,13 @@ def Test_class_implements_interface() this.member: string endinterface - class SomeImpl implements Some, Another + class AnotherImpl implements Some, Another this.member = 'abc' static count: number def Method(nr: number) echo nr enddef endclass - END v9.CheckScriptSuccess(lines)