comparison src/testdir/test_vim9_script.vim @ 21937:b931df03adcc v8.2.1518

patch 8.2.1518: Vim9: cannot assign to local option Commit: https://github.com/vim/vim/commit/2e80095501238e0c6b702ac7cdfa2e2b763dba28 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Aug 23 19:34:48 2020 +0200 patch 8.2.1518: Vim9: cannot assign to local option Problem: Vim9: cannot assign to local option. Solution: Skip over "&l:" and "&g:". (closes https://github.com/vim/vim/issues/6749)
author Bram Moolenaar <Bram@vim.org>
date Sun, 23 Aug 2020 19:45:03 +0200
parents 5edd776d886d
children 8350bdbdbb28
comparison
equal deleted inserted replaced
21936:8303e21ae158 21937:b931df03adcc
108 108
109 CheckDefFailure(['let nr: number = 200', 'nr /= 5.0'], 'E1012:') 109 CheckDefFailure(['let nr: number = 200', 'nr /= 5.0'], 'E1012:')
110 endif 110 endif
111 111
112 lines =<< trim END 112 lines =<< trim END
113 vim9script
114 &ts = 6 113 &ts = 6
115 &ts += 3 114 &ts += 3
116 assert_equal(9, &ts) 115 assert_equal(9, &ts)
117 END 116
118 CheckScriptSuccess(lines) 117 &l:ts = 6
118 assert_equal(6, &ts)
119 &l:ts += 2
120 assert_equal(8, &ts)
121
122 &g:ts = 6
123 assert_equal(6, &g:ts)
124 &g:ts += 2
125 assert_equal(8, &g:ts)
126 END
127 CheckDefAndScriptSuccess(lines)
119 128
120 CheckDefFailure(['&notex += 3'], 'E113:') 129 CheckDefFailure(['&notex += 3'], 'E113:')
121 CheckDefFailure(['&ts ..= "xxx"'], 'E1019:') 130 CheckDefFailure(['&ts ..= "xxx"'], 'E1019:')
122 CheckDefFailure(['&ts = [7]'], 'E1012:') 131 CheckDefFailure(['&ts = [7]'], 'E1012:')
123 CheckDefExecFailure(['&ts = g:alist'], 'E1029: Expected number but got list') 132 CheckDefExecFailure(['&ts = g:alist'], 'E1029: Expected number but got list')
161 $SOME_ENV_VAR ..= 'more' 170 $SOME_ENV_VAR ..= 'more'
162 assert_equal('somemore', $SOME_ENV_VAR) 171 assert_equal('somemore', $SOME_ENV_VAR)
163 call CheckDefFailure(['$SOME_ENV_VAR += "more"'], 'E1051:') 172 call CheckDefFailure(['$SOME_ENV_VAR += "more"'], 'E1051:')
164 call CheckDefFailure(['$SOME_ENV_VAR += 123'], 'E1012:') 173 call CheckDefFailure(['$SOME_ENV_VAR += 123'], 'E1012:')
165 174
166 @a = 'areg'
167 @a ..= 'add'
168 assert_equal('aregadd', @a)
169 call CheckDefFailure(['@a += "more"'], 'E1051:')
170 call CheckDefFailure(['@a += 123'], 'E1012:')
171
172 lines =<< trim END 175 lines =<< trim END
173 vim9script
174 @c = 'areg' 176 @c = 'areg'
175 @c ..= 'add' 177 @c ..= 'add'
176 assert_equal('aregadd', @c) 178 assert_equal('aregadd', @c)
177 END 179 END
178 call CheckScriptSuccess(lines) 180 CheckDefAndScriptSuccess(lines)
181
182 call CheckDefFailure(['@a += "more"'], 'E1051:')
183 call CheckDefFailure(['@a += 123'], 'E1012:')
179 184
180 v:errmsg = 'none' 185 v:errmsg = 'none'
181 v:errmsg ..= 'again' 186 v:errmsg ..= 'again'
182 assert_equal('noneagain', v:errmsg) 187 assert_equal('noneagain', v:errmsg)
183 call CheckDefFailure(['v:errmsg += "more"'], 'E1051:') 188 call CheckDefFailure(['v:errmsg += "more"'], 'E1051:')