diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-03-26 22:16:48 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-03-26 22:16:48 +0100 |
commit | 15c476023f3c5fb32eb1936c5eb5f0f5f413f3c7 (patch) | |
tree | be750fc0469158a70a4908e8ac74779bfd9426c9 /src/testdir | |
parent | bea9023d4260349c130faf447aa8d4cbadeffab2 (diff) |
patch 8.2.0459: cannot check if a function name is correctv8.2.0459
Problem: Cannot check if a function name is correct.
Solution: Add "?funcname" to exists().
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/check.vim | 5 | ||||
-rw-r--r-- | src/testdir/test_exists.vim | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/testdir/check.vim b/src/testdir/check.vim index d01dd81dd5..22c33c0ac7 100644 --- a/src/testdir/check.vim +++ b/src/testdir/check.vim @@ -25,9 +25,12 @@ func CheckOption(name) endif endfunc -" Command to check for the presence of a function. +" Command to check for the presence of a built-in function. command -nargs=1 CheckFunction call CheckFunction(<f-args>) func CheckFunction(name) + if !exists('?' .. a:name) + throw 'Checking for non-existent function ' .. a:name + endif if !exists('*' .. a:name) throw 'Skipped: ' .. a:name .. ' function missing' endif diff --git a/src/testdir/test_exists.vim b/src/testdir/test_exists.vim index 62c66192ef..8a30133e13 100644 --- a/src/testdir/test_exists.vim +++ b/src/testdir/test_exists.vim @@ -92,6 +92,11 @@ func Test_exists() " Function that may be created by script autoloading call assert_equal(0, exists('*footest#F')) + call assert_equal(has('float'), exists('*acos')) + call assert_equal(1, exists('?acos')) + call assert_equal(has('win32'), exists('*debugbreak')) + call assert_equal(1, exists('?debugbreak')) + " Valid internal command (full match) call assert_equal(2, exists(':edit')) " Valid internal command (full match) with garbage |