aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir/test_vimscript.vim
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-10-26 13:41:43 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-10-26 13:52:42 +0800
commit7b39ce36a4599539cd5cb07dad6bd980d30a3180 (patch)
tree837c0973319b8d168db9ccd96d6ae113d29287e7 /src/nvim/testdir/test_vimscript.vim
parentd40739843cf9a160587032bf381c440079e5a8ce (diff)
downloadrneovim-7b39ce36a4599539cd5cb07dad6bd980d30a3180.tar.gz
rneovim-7b39ce36a4599539cd5cb07dad6bd980d30a3180.tar.bz2
rneovim-7b39ce36a4599539cd5cb07dad6bd980d30a3180.zip
vim-patch:8.2.0418: code in eval.c not sufficiently covered by tests
Problem: Code in eval.c not sufficiently covered by tests. Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#5815) https://github.com/vim/vim/commit/8b633135106dda8605463b780573c45b00c22afe Nvim does not have v:none, so comment out test for it.
Diffstat (limited to 'src/nvim/testdir/test_vimscript.vim')
-rw-r--r--src/nvim/testdir/test_vimscript.vim16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_vimscript.vim b/src/nvim/testdir/test_vimscript.vim
index ea3d15915a..7a75d0e88a 100644
--- a/src/nvim/testdir/test_vimscript.vim
+++ b/src/nvim/testdir/test_vimscript.vim
@@ -1656,6 +1656,8 @@ func Test_compound_assignment_operators()
call assert_equal(4.2, x)
call assert_fails('let x %= 0.5', 'E734')
call assert_fails('let x .= "f"', 'E734')
+ let x = !3.14
+ call assert_equal(0.0, x)
endif
" Test for environment variable
@@ -1942,6 +1944,20 @@ func Test_sfile_in_function()
delfunc Xfunc
endfunc
+" Test for errors in converting to float from various types {{{1
+func Test_float_conversion_errors()
+ if has('float')
+ call assert_fails('let x = 4.0 % 2.0', 'E804')
+ call assert_fails('echo 1.1[0]', 'E806')
+ call assert_fails('echo sort([function("min"), 1], "f")', 'E891:')
+ call assert_fails('echo 3.2 == "vim"', 'E892:')
+ call assert_fails('echo sort([[], 1], "f")', 'E893:')
+ call assert_fails('echo sort([{}, 1], "f")', 'E894:')
+ call assert_fails('echo 3.2 == v:true', 'E362:')
+ " call assert_fails('echo 3.2 == v:none', 'E907:')
+ endif
+endfunc
+
func Test_for_over_string()
let res = ''
for c in 'aéc̀d'