Mercurial > vim
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 |