patch 8.2.2881: various pieces of code not covered by tests
Problem: Various pieces of code not covered by tests.
Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8245)
diff --git a/src/testdir/test_user_func.vim b/src/testdir/test_user_func.vim
index a58aa64..4b8ec99 100644
--- a/src/testdir/test_user_func.vim
+++ b/src/testdir/test_user_func.vim
@@ -405,6 +405,7 @@
let l = join(lines, "\n") . "\n"
exe l
call assert_fails('exe l', 'E717:')
+ call assert_fails('call feedkeys(":func d.F1()\<CR>", "xt")', 'E717:')
" Define an autoload function with an incorrect file name
call writefile(['func foo#Bar()', 'return 1', 'endfunc'], 'Xscript')
@@ -420,6 +421,11 @@
call assert_fails('delfunction Xabc', 'E130:')
let d = {'a' : 10}
call assert_fails('delfunc d.a', 'E718:')
+ func d.fn()
+ return 1
+ endfunc
+ delfunc d.fn
+ call assert_equal({'a' : 10}, d)
endfunc
" Test for calling return outside of a function
@@ -451,11 +457,12 @@
return len(self)
endfunc
- call assert_equal("{'a': 'b', 'somefunc': function('2')}", string(mydict))
+ call assert_equal("{'a': 'b', 'somefunc': function('3')}", string(mydict))
call assert_equal(2, mydict.somefunc())
call assert_match("^\n function \\d\\\+() dict"
\ .. "\n1 return len(self)"
\ .. "\n endfunction$", execute('func mydict.somefunc'))
+ call assert_fails('call mydict.nonexist()', 'E716:')
endfunc
func Test_func_range()