Mercurial > vim
comparison 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 |
comparison
equal
deleted
inserted
replaced
31832:b8c29a701f66 | 31833:3516e35f409f |
---|---|
160 assert_equal(v:t_object, type(pos)) | 160 assert_equal(v:t_object, type(pos)) |
161 assert_equal('class<TextPosition>', typename(TextPosition)) | 161 assert_equal('class<TextPosition>', typename(TextPosition)) |
162 assert_equal('object<TextPosition>', typename(pos)) | 162 assert_equal('object<TextPosition>', typename(pos)) |
163 END | 163 END |
164 v9.CheckScriptSuccess(lines) | 164 v9.CheckScriptSuccess(lines) |
165 enddef | |
166 | |
167 def Test_class_interface_wrong_end() | |
168 var lines =<< trim END | |
169 vim9script | |
170 abstract class SomeName | |
171 this.member = 'text' | |
172 endinterface | |
173 END | |
174 v9.CheckScriptFailure(lines, 'E476: Invalid command: endinterface, expected endclass') | |
175 | |
176 lines =<< trim END | |
177 vim9script | |
178 export interface AnotherName | |
179 this.member: string | |
180 endclass | |
181 END | |
182 v9.CheckScriptFailure(lines, 'E476: Invalid command: endclass, expected endinterface') | |
165 enddef | 183 enddef |
166 | 184 |
167 def Test_class_member_initializer() | 185 def Test_class_member_initializer() |
168 var lines =<< trim END | 186 var lines =<< trim END |
169 vim9script | 187 vim9script |
843 ee.Exit() | 861 ee.Exit() |
844 endtry | 862 endtry |
845 enddef | 863 enddef |
846 END | 864 END |
847 v9.CheckScriptSuccess(lines) | 865 v9.CheckScriptSuccess(lines) |
866 | |
867 var imported =<< trim END | |
868 vim9script | |
869 export abstract class EnterExit | |
870 def Enter(): void | |
871 enddef | |
872 def Exit(): void | |
873 enddef | |
874 endclass | |
875 END | |
876 writefile(imported, 'XdefIntf2.vim', 'D') | |
877 | |
878 lines[1] = " import './XdefIntf2.vim' as defIntf" | |
879 v9.CheckScriptSuccess(lines) | |
848 enddef | 880 enddef |
849 | 881 |
850 def Test_class_implements_interface() | 882 def Test_class_implements_interface() |
851 var lines =<< trim END | 883 var lines =<< trim END |
852 vim9script | 884 vim9script |