diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-06-14 16:39:54 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2023-06-14 16:39:54 +0100 |
commit | 4c7cb372c17a84c8a35254d93eb37cb854cd39da (patch) | |
tree | ea5cfdba66516bd04a26c9b44df27160c7aa3fa0 /src/testdir/test_let.vim | |
parent | 8d687a7424b33b7ad7f6778b0c5d092a44f4bc3a (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.vim | 24 |
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 |