diff options
author | Bram Moolenaar <Bram@vim.org> | 2023-02-04 15:45:27 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2023-02-04 15:45:27 +0000 |
commit | 7a1bdaecf2d2a06eb06ed462e6ccae4954939fc9 (patch) | |
tree | 3e535c1b4e53569d7fff823b883ecd1057a3cfda | |
parent | 61fdbfa1e3c842252b701aec12f45839ca41ece5 (diff) | |
download | vim-git-7a1bdaecf2d2a06eb06ed462e6ccae4954939fc9.tar.gz |
patch 9.0.1280: inssufficient testing for what 9.0.1265 fixesv9.0.1280
Problem: Inssufficient testing for what 9.0.1265 fixes.
Solution: Add a couple of test cases. (issue #11885)
-rw-r--r-- | src/testdir/test_vim9_class.vim | 54 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 56 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim index a8128c7c7..184a61f81 100644 --- a/src/testdir/test_vim9_class.vim +++ b/src/testdir/test_vim9_class.vim @@ -1050,6 +1050,60 @@ def Test_call_interface_method() END v9.CheckScriptSuccess(lines) + # method of interface returns a value + lines =<< trim END + vim9script + interface Base + def Enter(): string + endinterface + + class Child implements Base + def Enter(): string + g:result ..= 'child' + return "/resource" + enddef + endclass + + def F(obj: Base) + var r = obj.Enter() + g:result ..= r + enddef + + g:result = '' + F(Child.new()) + assert_equal('child/resource', g:result) + unlet g:result + END + v9.CheckScriptSuccess(lines) + + lines =<< trim END + vim9script + class Base + def Enter(): string + return null_string + enddef + endclass + + class Child extends Base + def Enter(): string + g:result ..= 'child' + return "/resource" + enddef + endclass + + def F(obj: Base) + var r = obj.Enter() + g:result ..= r + enddef + + g:result = '' + F(Child.new()) + assert_equal('child/resource', g:result) + unlet g:result + END + v9.CheckScriptSuccess(lines) + + # No class that implements the interface. lines =<< trim END vim9script diff --git a/src/version.c b/src/version.c index 2e5b93201..cdca15168 100644 --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1280, +/**/ 1279, /**/ 1278, |