comparison src/testdir/test_vim9_cmd.vim @ 22860:53acb89ec9f2 v8.2.1977

patch 8.2.1977: Vim9: error for using a string in a condition is confusing Commit: https://github.com/vim/vim/commit/ea2d407f9c144bb634c59017944e4930ed7f80a2 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Nov 12 12:08:51 2020 +0100 patch 8.2.1977: Vim9: error for using a string in a condition is confusing Problem: Vim9: error for using a string in a condition is confusing. Solution: Give a more specific error. Also adjust the compile time type checking for || and &&.
author Bram Moolenaar <Bram@vim.org>
date Thu, 12 Nov 2020 12:15:04 +0100
parents bb1b21a2aae3
children 1270401054d8
comparison
equal deleted inserted replaced
22859:757858b35433 22860:53acb89ec9f2
72 def Test_condition_types() 72 def Test_condition_types()
73 var lines =<< trim END 73 var lines =<< trim END
74 if 'text' 74 if 'text'
75 endif 75 endif
76 END 76 END
77 CheckDefAndScriptFailure(lines, 'E1030:', 1) 77 CheckDefAndScriptFailure(lines, 'E1135:', 1)
78 78
79 lines =<< trim END 79 lines =<< trim END
80 if [1] 80 if [1]
81 endif 81 endif
82 END 82 END
86 lines =<< trim END 86 lines =<< trim END
87 g:cond = 'text' 87 g:cond = 'text'
88 if g:cond 88 if g:cond
89 endif 89 endif
90 END 90 END
91 CheckDefExecAndScriptFailure(lines, 'E1030:', 2) 91 CheckDefExecAndScriptFailure(lines, 'E1135:', 2)
92 92
93 lines =<< trim END 93 lines =<< trim END
94 g:cond = 0 94 g:cond = 0
95 if g:cond 95 if g:cond
96 elseif 'text' 96 elseif 'text'
97 endif 97 endif
98 END 98 END
99 CheckDefFailure(lines, 'E1012:', 3) 99 CheckDefFailure(lines, 'E1012:', 3)
100 CheckScriptFailure(['vim9script'] + lines, 'E1030:', 4) 100 CheckScriptFailure(['vim9script'] + lines, 'E1135:', 4)
101 101
102 lines =<< trim END 102 lines =<< trim END
103 if g:cond 103 if g:cond
104 elseif [1] 104 elseif [1]
105 endif 105 endif
111 g:cond = 'text' 111 g:cond = 'text'
112 if 0 112 if 0
113 elseif g:cond 113 elseif g:cond
114 endif 114 endif
115 END 115 END
116 CheckDefExecAndScriptFailure(lines, 'E1030:', 3) 116 CheckDefExecAndScriptFailure(lines, 'E1135:', 3)
117 117
118 lines =<< trim END 118 lines =<< trim END
119 while 'text' 119 while 'text'
120 endwhile 120 endwhile
121 END 121 END
122 CheckDefFailure(lines, 'E1012:', 1) 122 CheckDefFailure(lines, 'E1012:', 1)
123 CheckScriptFailure(['vim9script'] + lines, 'E1030:', 2) 123 CheckScriptFailure(['vim9script'] + lines, 'E1135:', 2)
124 124
125 lines =<< trim END 125 lines =<< trim END
126 while [1] 126 while [1]
127 endwhile 127 endwhile
128 END 128 END
132 lines =<< trim END 132 lines =<< trim END
133 g:cond = 'text' 133 g:cond = 'text'
134 while g:cond 134 while g:cond
135 endwhile 135 endwhile
136 END 136 END
137 CheckDefExecAndScriptFailure(lines, 'E1030:', 2) 137 CheckDefExecAndScriptFailure(lines, 'E1135:', 2)
138 enddef 138 enddef
139 139
140 def Test_if_linebreak() 140 def Test_if_linebreak()
141 var lines =<< trim END 141 var lines =<< trim END
142 vim9script 142 vim9script