summaryrefslogtreecommitdiff
path: root/src/testdir/test_vim9_func.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-06-18 20:50:10 +0200
committerBram Moolenaar <Bram@vim.org>2020-06-18 20:50:10 +0200
commitefd885559405e1561d577e1b0e6fa827705d285e (patch)
tree61a3f507fbe5e8c33a47e6307e397d80990c6486 /src/testdir/test_vim9_func.vim
parent9b68c82b7ca768100f3eb4223d100c62c5429e53 (diff)
downloadvim-git-efd885559405e1561d577e1b0e6fa827705d285e.tar.gz
patch 8.2.1006: Vim9: require unnecessary return statementv8.2.1006
Problem: Vim9: require unnecessary return statement. Solution: Improve the use of the had_return flag. (closes #6270)
Diffstat (limited to 'src/testdir/test_vim9_func.vim')
-rw-r--r--src/testdir/test_vim9_func.vim25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index c0a4d9bd6..499699c17 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -31,6 +31,31 @@ def Test_return_something()
assert_fails('call ReturnGlobal()', 'E1029: Expected number but got string')
enddef
+def Test_missing_return()
+ CheckDefFailure(['def Missing(): number',
+ ' if g:cond',
+ ' echo "no return"',
+ ' else',
+ ' return 0',
+ ' endif'
+ 'enddef'], 'E1027:')
+ CheckDefFailure(['def Missing(): number',
+ ' if g:cond',
+ ' return 1',
+ ' else',
+ ' echo "no return"',
+ ' endif'
+ 'enddef'], 'E1027:')
+ CheckDefFailure(['def Missing(): number',
+ ' if g:cond',
+ ' return 1',
+ ' else',
+ ' return 2',
+ ' endif'
+ ' return 3'
+ 'enddef'], 'E1095:')
+enddef
+
let s:nothing = 0
def ReturnNothing()
s:nothing = 1