summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_let.vim
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-06-14 16:39:54 +0100
committerBram Moolenaar <Bram@vim.org>2023-06-14 16:39:54 +0100
commit4c7cb372c17a84c8a35254d93eb37cb854cd39da (patch)
treeea5cfdba66516bd04a26c9b44df27160c7aa3fa0 /src/testdir/test_let.vim
parent8d687a7424b33b7ad7f6778b0c5d092a44f4bc3a (diff)
patch 9.0.1631: passing wrong variable type to option gives multiple errorsv9.0.1631
Problem: Passing a wrong variable type to an option gives multiple errors. Solution: Bail out early on failure. (closes #12504)
Diffstat (limited to 'src/testdir/test_let.vim')
-rw-r--r--src/testdir/test_let.vim24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/testdir/test_let.vim b/src/testdir/test_let.vim
index 680572f76b..c99207c127 100644
--- a/src/testdir/test_let.vim
+++ b/src/testdir/test_let.vim
@@ -266,15 +266,35 @@ endfunc
func Test_let_option_error()
let _w = &tw
let &tw = 80
- call assert_fails('let &tw .= 1', 'E734:')
+ call assert_fails('let &tw .= 1', ['E734:', 'E734:'])
+ call assert_fails('let &tw .= []', ['E734:', 'E734:'])
+ call assert_fails('let &tw = []', ['E745:', 'E745:'])
+ call assert_fails('let &tw += []', ['E745:', 'E745:'])
call assert_equal(80, &tw)
let &tw = _w
+ let _w = &autoread
+ let &autoread = 1
+ call assert_fails('let &autoread .= 1', ['E734:', 'E734:'])
+ call assert_fails('let &autoread .= []', ['E734:', 'E734:'])
+ call assert_fails('let &autoread = []', ['E745:', 'E745:'])
+ call assert_fails('let &autoread += []', ['E745:', 'E745:'])
+ call assert_equal(1, &autoread)
+ let &autoread = _w
+
let _w = &fillchars
let &fillchars = "vert:|"
- call assert_fails('let &fillchars += "diff:-"', 'E734:')
+ call assert_fails('let &fillchars += "diff:-"', ['E734:', 'E734:'])
+ call assert_fails('let &fillchars += []', ['E734:', 'E734:'])
+ call assert_fails('let &fillchars = []', ['E730:', 'E730:'])
+ call assert_fails('let &fillchars .= []', ['E730:', 'E730:'])
call assert_equal("vert:|", &fillchars)
let &fillchars = _w
+
+ call assert_fails('let &nosuchoption = 1', ['E355:', 'E355:'])
+ call assert_fails('let &nosuchoption = ""', ['E355:', 'E355:'])
+ call assert_fails('let &nosuchoption = []', ['E355:', 'E355:'])
+ call assert_fails('let &t_xx = []', ['E730:', 'E730:'])
endfunc
" Errors with the :let statement