summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2023-02-04 15:45:27 +0000
committerBram Moolenaar <Bram@vim.org>2023-02-04 15:45:27 +0000
commit7a1bdaecf2d2a06eb06ed462e6ccae4954939fc9 (patch)
tree3e535c1b4e53569d7fff823b883ecd1057a3cfda
parent61fdbfa1e3c842252b701aec12f45839ca41ece5 (diff)
downloadvim-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.vim54
-rw-r--r--src/version.c2
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,