Mercurial > vim
comparison src/testdir/test_vim9_expr.vim @ 21024:02b03915855d v8.2.1063
patch 8.2.1063: Vim9: no line break allowed before || or &&
Commit: https://github.com/vim/vim/commit/be7ee488761a5582a5605197c3951a17f20d072e
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jun 26 21:38:51 2020 +0200
patch 8.2.1063: Vim9: no line break allowed before || or &&
Problem: Vim9: no line break allowed before || or &&.
Solution: Check for operator after line break.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 26 Jun 2020 21:45:16 +0200 |
parents | 9d8634e91d1b |
children | fe2ed85db946 |
comparison
equal
deleted
inserted
replaced
21023:71f6a958bd70 | 21024:02b03915855d |
---|---|
113 assert_equal([0, 4], g:vals) | 113 assert_equal([0, 4], g:vals) |
114 | 114 |
115 g:vals = [] | 115 g:vals = [] |
116 assert_equal(0, Record([]) || Record('') || Record(0)) | 116 assert_equal(0, Record([]) || Record('') || Record(0)) |
117 assert_equal([[], '', 0], g:vals) | 117 assert_equal([[], '', 0], g:vals) |
118 enddef | |
119 | |
120 def Test_expr2_vimscript() | |
121 " only checks line continuation | |
122 let lines =<< trim END | |
123 vim9script | |
124 let var = 0 | |
125 || 1 | |
126 assert_equal(1, var) | |
127 END | |
128 CheckScriptSuccess(lines) | |
129 | |
130 lines =<< trim END | |
131 vim9script | |
132 let var = v:false | |
133 || v:true | |
134 || v:false | |
135 assert_equal(1, var) | |
136 END | |
137 CheckScriptSuccess(lines) | |
118 enddef | 138 enddef |
119 | 139 |
120 func Test_expr2_fails() | 140 func Test_expr2_fails() |
121 let msg = "white space required before and after '||'" | 141 let msg = "white space required before and after '||'" |
122 call CheckDefFailure(["let x = 1||2"], msg) | 142 call CheckDefFailure(["let x = 1||2"], msg) |
156 assert_equal([8, 4, 0], g:vals) | 176 assert_equal([8, 4, 0], g:vals) |
157 | 177 |
158 g:vals = [] | 178 g:vals = [] |
159 assert_equal(0, Record([1]) && Record('z') && Record(0)) | 179 assert_equal(0, Record([1]) && Record('z') && Record(0)) |
160 assert_equal([[1], 'z', 0], g:vals) | 180 assert_equal([[1], 'z', 0], g:vals) |
181 enddef | |
182 | |
183 def Test_expr3_vimscript() | |
184 " only checks line continuation | |
185 let lines =<< trim END | |
186 vim9script | |
187 let var = 0 | |
188 && 1 | |
189 assert_equal(0, var) | |
190 END | |
191 CheckScriptSuccess(lines) | |
192 | |
193 lines =<< trim END | |
194 vim9script | |
195 let var = v:true | |
196 && v:true | |
197 && v:true | |
198 assert_equal(1, var) | |
199 END | |
200 CheckScriptSuccess(lines) | |
161 enddef | 201 enddef |
162 | 202 |
163 func Test_expr3_fails() | 203 func Test_expr3_fails() |
164 let msg = "white space required before and after '&&'" | 204 let msg = "white space required before and after '&&'" |
165 call CheckDefFailure(["let x = 1&&2"], msg) | 205 call CheckDefFailure(["let x = 1&&2"], msg) |