comparison src/testdir/test_vim9_script.vim @ 21526:a7afee13873d v8.2.1313

patch 8.2.1313: Vim9 script: cannot assign to environment variable Commit: https://github.com/vim/vim/commit/b5ed266037dea49024e00c4e1f9c89f3a9ebaa60 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jul 28 22:38:37 2020 +0200 patch 8.2.1313: Vim9 script: cannot assign to environment variable Problem: Vim9 script: cannot assign to environment variable. Solution: Recognize environment variable assignment. (closes https://github.com/vim/vim/issues/6548) Also options and registers.
author Bram Moolenaar <Bram@vim.org>
date Tue, 28 Jul 2020 22:45:03 +0200
parents c7b2ce90c2de
children e0aa9b81f6a9
comparison
equal deleted inserted replaced
21525:8c78fe47b321 21526:a7afee13873d
58 assert_equal('abc', v:char) 58 assert_equal('abc', v:char)
59 59
60 $ENVVAR = 'foobar' 60 $ENVVAR = 'foobar'
61 assert_equal('foobar', $ENVVAR) 61 assert_equal('foobar', $ENVVAR)
62 $ENVVAR = '' 62 $ENVVAR = ''
63
64 let lines =<< trim END
65 vim9script
66 $ENVVAR = 'barfoo'
67 assert_equal('barfoo', $ENVVAR)
68 $ENVVAR = ''
69 END
70 call CheckScriptSuccess(lines)
63 71
64 s:appendToMe ..= 'yyy' 72 s:appendToMe ..= 'yyy'
65 assert_equal('xxxyyy', s:appendToMe) 73 assert_equal('xxxyyy', s:appendToMe)
66 s:addToMe += 222 74 s:addToMe += 222
67 assert_equal(333, s:addToMe) 75 assert_equal(333, s:addToMe)
78 &ts /= 3 86 &ts /= 3
79 assert_equal(3, &ts) 87 assert_equal(3, &ts)
80 set ts=10 88 set ts=10
81 &ts %= 4 89 &ts %= 4
82 assert_equal(2, &ts) 90 assert_equal(2, &ts)
91
92 lines =<< trim END
93 vim9script
94 &ts = 6
95 &ts += 3
96 assert_equal(9, &ts)
97 END
98 call CheckScriptSuccess(lines)
99
83 call CheckDefFailure(['&notex += 3'], 'E113:') 100 call CheckDefFailure(['&notex += 3'], 'E113:')
84 call CheckDefFailure(['&ts ..= "xxx"'], 'E1019:') 101 call CheckDefFailure(['&ts ..= "xxx"'], 'E1019:')
85 call CheckDefFailure(['&ts = [7]'], 'E1013:') 102 call CheckDefFailure(['&ts = [7]'], 'E1013:')
86 call CheckDefExecFailure(['&ts = g:alist'], 'E1029: Expected number but got list') 103 call CheckDefExecFailure(['&ts = g:alist'], 'E1029: Expected number but got list')
87 call CheckDefFailure(['&ts = "xx"'], 'E1013:') 104 call CheckDefFailure(['&ts = "xx"'], 'E1013:')
103 @a = 'areg' 120 @a = 'areg'
104 @a ..= 'add' 121 @a ..= 'add'
105 assert_equal('aregadd', @a) 122 assert_equal('aregadd', @a)
106 call CheckDefFailure(['@a += "more"'], 'E1013:') 123 call CheckDefFailure(['@a += "more"'], 'E1013:')
107 call CheckDefFailure(['@a += 123'], 'E1013:') 124 call CheckDefFailure(['@a += 123'], 'E1013:')
125
126 lines =<< trim END
127 vim9script
128 @c = 'areg'
129 @c ..= 'add'
130 assert_equal('aregadd', @c)
131 END
132 call CheckScriptSuccess(lines)
108 133
109 v:errmsg = 'none' 134 v:errmsg = 'none'
110 v:errmsg ..= 'again' 135 v:errmsg ..= 'again'
111 assert_equal('noneagain', v:errmsg) 136 assert_equal('noneagain', v:errmsg)
112 call CheckDefFailure(['v:errmsg += "more"'], 'E1013:') 137 call CheckDefFailure(['v:errmsg += "more"'], 'E1013:')