Mercurial > vim
diff src/testdir/test_vim9_class.vim @ 31833:3516e35f409f v9.0.1249
patch 9.0.1249: cannot export an abstract class
Commit: https://github.com/vim/vim/commit/657aea7fc47fb919ce76fad64ba0ec55a1af80f1
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jan 27 13:16:19 2023 +0000
patch 9.0.1249: cannot export an abstract class
Problem: Cannot export an abstract class. (Ernie Rael)
Solution: Add the EX_EXPORT flag to :abstract. (closes https://github.com/vim/vim/issues/11884)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 27 Jan 2023 14:30:04 +0100 |
parents | 554bd03ff609 |
children | 5ce5d78afcc9 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_class.vim +++ b/src/testdir/test_vim9_class.vim @@ -164,6 +164,24 @@ def Test_class_basic() v9.CheckScriptSuccess(lines) enddef +def Test_class_interface_wrong_end() + var lines =<< trim END + vim9script + abstract class SomeName + this.member = 'text' + endinterface + END + v9.CheckScriptFailure(lines, 'E476: Invalid command: endinterface, expected endclass') + + lines =<< trim END + vim9script + export interface AnotherName + this.member: string + endclass + END + v9.CheckScriptFailure(lines, 'E476: Invalid command: endclass, expected endinterface') +enddef + def Test_class_member_initializer() var lines =<< trim END vim9script @@ -845,6 +863,20 @@ def Test_interface_basics() enddef END v9.CheckScriptSuccess(lines) + + var imported =<< trim END + vim9script + export abstract class EnterExit + def Enter(): void + enddef + def Exit(): void + enddef + endclass + END + writefile(imported, 'XdefIntf2.vim', 'D') + + lines[1] = " import './XdefIntf2.vim' as defIntf" + v9.CheckScriptSuccess(lines) enddef def Test_class_implements_interface()