Mercurial > vim
comparison src/testdir/test_ruby.vim @ 19249:2a017e9dc6da v8.2.0183
patch 8.2.0183: tests fail when the float feature is disabled
Commit: https://github.com/vim/vim/commit/5feabe00c47fa66d5f4c95213f150488433f78e3
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jan 30 18:24:53 2020 +0100
patch 8.2.0183: tests fail when the float feature is disabled
Problem: Tests fail when the float feature is disabled.
Solution: Skip tests that don't work without float support.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 30 Jan 2020 18:30:04 +0100 |
parents | 69db186daf4c |
children | 04ef2ccf2519 |
comparison
equal
deleted
inserted
replaced
19248:5e803caf5e9c | 19249:2a017e9dc6da |
---|---|
32 call writefile(['raise "vim!"'], tempfile) | 32 call writefile(['raise "vim!"'], tempfile) |
33 call assert_fails('rubyfile ' . tempfile) | 33 call assert_fails('rubyfile ' . tempfile) |
34 call delete(tempfile) | 34 call delete(tempfile) |
35 endfunc | 35 endfunc |
36 | 36 |
37 func Test_set_cursor() | 37 func Test_ruby_set_cursor() |
38 " Check that setting the cursor position works. | 38 " Check that setting the cursor position works. |
39 new | 39 new |
40 call setline(1, ['first line', 'second line']) | 40 call setline(1, ['first line', 'second line']) |
41 normal gg | 41 normal gg |
42 rubydo $curwin.cursor = [1, 5] | 42 rubydo $curwin.cursor = [1, 5] |
52 \ 'ArgumentError: array length must be 2') | 52 \ 'ArgumentError: array length must be 2') |
53 bwipe! | 53 bwipe! |
54 endfunc | 54 endfunc |
55 | 55 |
56 " Test buffer.count and buffer.length (number of lines in buffer) | 56 " Test buffer.count and buffer.length (number of lines in buffer) |
57 func Test_buffer_count() | 57 func Test_ruby_buffer_count() |
58 new | 58 new |
59 call setline(1, ['one', 'two', 'three']) | 59 call setline(1, ['one', 'two', 'three']) |
60 call assert_equal(3, rubyeval('$curbuf.count')) | 60 call assert_equal(3, rubyeval('$curbuf.count')) |
61 call assert_equal(3, rubyeval('$curbuf.length')) | 61 call assert_equal(3, rubyeval('$curbuf.length')) |
62 bwipe! | 62 bwipe! |
63 endfunc | 63 endfunc |
64 | 64 |
65 " Test buffer.name (buffer name) | 65 " Test buffer.name (buffer name) |
66 func Test_buffer_name() | 66 func Test_ruby_buffer_name() |
67 new Xfoo | 67 new Xfoo |
68 call assert_equal(expand('%:p'), rubyeval('$curbuf.name')) | 68 call assert_equal(expand('%:p'), rubyeval('$curbuf.name')) |
69 bwipe | 69 bwipe |
70 call assert_equal(v:null, rubyeval('$curbuf.name')) | 70 call assert_equal(v:null, rubyeval('$curbuf.name')) |
71 endfunc | 71 endfunc |
72 | 72 |
73 " Test buffer.number (number of the buffer). | 73 " Test buffer.number (number of the buffer). |
74 func Test_buffer_number() | 74 func Test_ruby_buffer_number() |
75 new | 75 new |
76 call assert_equal(bufnr('%'), rubyeval('$curbuf.number')) | 76 call assert_equal(bufnr('%'), rubyeval('$curbuf.number')) |
77 new | 77 new |
78 call assert_equal(bufnr('%'), rubyeval('$curbuf.number')) | 78 call assert_equal(bufnr('%'), rubyeval('$curbuf.number')) |
79 | 79 |
80 %bwipe | 80 %bwipe |
81 endfunc | 81 endfunc |
82 | 82 |
83 " Test buffer.delete({n}) (delete line {n}) | 83 " Test buffer.delete({n}) (delete line {n}) |
84 func Test_buffer_delete() | 84 func Test_ruby_buffer_delete() |
85 new | 85 new |
86 call setline(1, ['one', 'two', 'three']) | 86 call setline(1, ['one', 'two', 'three']) |
87 ruby $curbuf.delete(2) | 87 ruby $curbuf.delete(2) |
88 call assert_equal(['one', 'three'], getline(1, '$')) | 88 call assert_equal(['one', 'three'], getline(1, '$')) |
89 | 89 |
92 | 92 |
93 bwipe! | 93 bwipe! |
94 endfunc | 94 endfunc |
95 | 95 |
96 " Test buffer.append({str}, str) (append line {str} after line {n}) | 96 " Test buffer.append({str}, str) (append line {str} after line {n}) |
97 func Test_buffer_append() | 97 func Test_ruby_buffer_append() |
98 new | 98 new |
99 ruby $curbuf.append(0, 'one') | 99 ruby $curbuf.append(0, 'one') |
100 ruby $curbuf.append(1, 'three') | 100 ruby $curbuf.append(1, 'three') |
101 ruby $curbuf.append(1, 'two') | 101 ruby $curbuf.append(1, 'two') |
102 ruby $curbuf.append(4, 'four') | 102 ruby $curbuf.append(4, 'four') |
110 | 110 |
111 bwipe! | 111 bwipe! |
112 endfunc | 112 endfunc |
113 | 113 |
114 " Test buffer.line (get or set the current line) | 114 " Test buffer.line (get or set the current line) |
115 func Test_buffer_line() | 115 func Test_ruby_buffer_line() |
116 new | 116 new |
117 call setline(1, ['one', 'two', 'three']) | 117 call setline(1, ['one', 'two', 'three']) |
118 2 | 118 2 |
119 call assert_equal('two', rubyeval('$curbuf.line')) | 119 call assert_equal('two', rubyeval('$curbuf.line')) |
120 | 120 |
123 | 123 |
124 bwipe! | 124 bwipe! |
125 endfunc | 125 endfunc |
126 | 126 |
127 " Test buffer.line_number (get current line number) | 127 " Test buffer.line_number (get current line number) |
128 func Test_buffer_line_number() | 128 func Test_ruby_buffer_line_number() |
129 new | 129 new |
130 call setline(1, ['one', 'two', 'three']) | 130 call setline(1, ['one', 'two', 'three']) |
131 2 | 131 2 |
132 call assert_equal(2, rubyeval('$curbuf.line_number')) | 132 call assert_equal(2, rubyeval('$curbuf.line_number')) |
133 | 133 |
134 bwipe! | 134 bwipe! |
135 endfunc | 135 endfunc |
136 | 136 |
137 func Test_buffer_get() | 137 func Test_ruby_buffer_get() |
138 new | 138 new |
139 call setline(1, ['one', 'two']) | 139 call setline(1, ['one', 'two']) |
140 call assert_equal('one', rubyeval('$curbuf[1]')) | 140 call assert_equal('one', rubyeval('$curbuf[1]')) |
141 call assert_equal('two', rubyeval('$curbuf[2]')) | 141 call assert_equal('two', rubyeval('$curbuf[2]')) |
142 | 142 |
146 \ 'IndexError: line number 3 out of range') | 146 \ 'IndexError: line number 3 out of range') |
147 | 147 |
148 bwipe! | 148 bwipe! |
149 endfunc | 149 endfunc |
150 | 150 |
151 func Test_buffer_set() | 151 func Test_ruby_buffer_set() |
152 new | 152 new |
153 call setline(1, ['one', 'two']) | 153 call setline(1, ['one', 'two']) |
154 ruby $curbuf[2] = 'TWO' | 154 ruby $curbuf[2] = 'TWO' |
155 ruby $curbuf[1] = 'ONE' | 155 ruby $curbuf[1] = 'ONE' |
156 | 156 |
160 \ 'IndexError: line number 3 out of range') | 160 \ 'IndexError: line number 3 out of range') |
161 bwipe! | 161 bwipe! |
162 endfunc | 162 endfunc |
163 | 163 |
164 " Test window.width (get or set window height). | 164 " Test window.width (get or set window height). |
165 func Test_window_height() | 165 func Test_ruby_window_height() |
166 new | 166 new |
167 | 167 |
168 " Test setting window height | 168 " Test setting window height |
169 ruby $curwin.height = 2 | 169 ruby $curwin.height = 2 |
170 call assert_equal(2, winheight(0)) | 170 call assert_equal(2, winheight(0)) |
174 | 174 |
175 bwipe | 175 bwipe |
176 endfunc | 176 endfunc |
177 | 177 |
178 " Test window.width (get or set window width). | 178 " Test window.width (get or set window width). |
179 func Test_window_width() | 179 func Test_ruby_window_width() |
180 vnew | 180 vnew |
181 | 181 |
182 " Test setting window width | 182 " Test setting window width |
183 ruby $curwin.width = 2 | 183 ruby $curwin.width = 2 |
184 call assert_equal(2, winwidth(0)) | 184 call assert_equal(2, winwidth(0)) |
188 | 188 |
189 bwipe | 189 bwipe |
190 endfunc | 190 endfunc |
191 | 191 |
192 " Test window.buffer (get buffer object of a window object). | 192 " Test window.buffer (get buffer object of a window object). |
193 func Test_window_buffer() | 193 func Test_ruby_window_buffer() |
194 new Xfoo1 | 194 new Xfoo1 |
195 new Xfoo2 | 195 new Xfoo2 |
196 ruby $b2 = $curwin.buffer | 196 ruby $b2 = $curwin.buffer |
197 ruby $w2 = $curwin | 197 ruby $w2 = $curwin |
198 wincmd j | 198 wincmd j |
207 ruby $b1, $w1, $b2, $w2 = nil | 207 ruby $b1, $w1, $b2, $w2 = nil |
208 %bwipe | 208 %bwipe |
209 endfunc | 209 endfunc |
210 | 210 |
211 " Test Vim::Window.current (get current window object) | 211 " Test Vim::Window.current (get current window object) |
212 func Test_Vim_window_current() | 212 func Test_ruby_Vim_window_current() |
213 let cw = rubyeval('$curwin') | 213 let cw = rubyeval('$curwin') |
214 call assert_equal(cw, rubyeval('Vim::Window.current')) | 214 call assert_equal(cw, rubyeval('Vim::Window.current')) |
215 call assert_match('^#<Vim::Window:0x\x\+>$', cw) | 215 call assert_match('^#<Vim::Window:0x\x\+>$', cw) |
216 endfunc | 216 endfunc |
217 | 217 |
218 " Test Vim::Window.count (number of windows) | 218 " Test Vim::Window.count (number of windows) |
219 func Test_Vim_window_count() | 219 func Test_ruby_Vim_window_count() |
220 new Xfoo1 | 220 new Xfoo1 |
221 new Xfoo2 | 221 new Xfoo2 |
222 split | 222 split |
223 call assert_equal(4, rubyeval('Vim::Window.count')) | 223 call assert_equal(4, rubyeval('Vim::Window.count')) |
224 %bwipe | 224 %bwipe |
225 call assert_equal(1, rubyeval('Vim::Window.count')) | 225 call assert_equal(1, rubyeval('Vim::Window.count')) |
226 endfunc | 226 endfunc |
227 | 227 |
228 " Test Vim::Window[n] (get window object of window n) | 228 " Test Vim::Window[n] (get window object of window n) |
229 func Test_Vim_window_get() | 229 func Test_ruby_Vim_window_get() |
230 new Xfoo1 | 230 new Xfoo1 |
231 new Xfoo2 | 231 new Xfoo2 |
232 call assert_match('Xfoo2$', rubyeval('Vim::Window[0].buffer.name')) | 232 call assert_match('Xfoo2$', rubyeval('Vim::Window[0].buffer.name')) |
233 wincmd j | 233 wincmd j |
234 call assert_match('Xfoo1$', rubyeval('Vim::Window[1].buffer.name')) | 234 call assert_match('Xfoo1$', rubyeval('Vim::Window[1].buffer.name')) |
236 call assert_equal(v:null, rubyeval('Vim::Window[2].buffer.name')) | 236 call assert_equal(v:null, rubyeval('Vim::Window[2].buffer.name')) |
237 %bwipe | 237 %bwipe |
238 endfunc | 238 endfunc |
239 | 239 |
240 " Test Vim::Buffer.current (return the buffer object of current buffer) | 240 " Test Vim::Buffer.current (return the buffer object of current buffer) |
241 func Test_Vim_buffer_current() | 241 func Test_ruby_Vim_buffer_current() |
242 let cb = rubyeval('$curbuf') | 242 let cb = rubyeval('$curbuf') |
243 call assert_equal(cb, rubyeval('Vim::Buffer.current')) | 243 call assert_equal(cb, rubyeval('Vim::Buffer.current')) |
244 call assert_match('^#<Vim::Buffer:0x\x\+>$', cb) | 244 call assert_match('^#<Vim::Buffer:0x\x\+>$', cb) |
245 endfunc | 245 endfunc |
246 | 246 |
247 " Test Vim::Buffer:.count (return the number of buffers) | 247 " Test Vim::Buffer:.count (return the number of buffers) |
248 func Test_Vim_buffer_count() | 248 func Test_ruby_Vim_buffer_count() |
249 new Xfoo1 | 249 new Xfoo1 |
250 new Xfoo2 | 250 new Xfoo2 |
251 call assert_equal(3, rubyeval('Vim::Buffer.count')) | 251 call assert_equal(3, rubyeval('Vim::Buffer.count')) |
252 %bwipe | 252 %bwipe |
253 call assert_equal(1, rubyeval('Vim::Buffer.count')) | 253 call assert_equal(1, rubyeval('Vim::Buffer.count')) |
254 endfunc | 254 endfunc |
255 | 255 |
256 " Test Vim::buffer[n] (return the buffer object of buffer number n) | 256 " Test Vim::buffer[n] (return the buffer object of buffer number n) |
257 func Test_Vim_buffer_get() | 257 func Test_ruby_Vim_buffer_get() |
258 new Xfoo1 | 258 new Xfoo1 |
259 new Xfoo2 | 259 new Xfoo2 |
260 | 260 |
261 " Index of Vim::Buffer[n] goes from 0 to the number of buffers. | 261 " Index of Vim::Buffer[n] goes from 0 to the number of buffers. |
262 call assert_equal(v:null, rubyeval('Vim::Buffer[0].name')) | 262 call assert_equal(v:null, rubyeval('Vim::Buffer[0].name')) |
267 %bwipe | 267 %bwipe |
268 endfunc | 268 endfunc |
269 | 269 |
270 " Test Vim::command({cmd}) (execute a Ex command)) | 270 " Test Vim::command({cmd}) (execute a Ex command)) |
271 " Test Vim::command({cmd}) | 271 " Test Vim::command({cmd}) |
272 func Test_Vim_command() | 272 func Test_ruby_Vim_command() |
273 new | 273 new |
274 call setline(1, ['one', 'two', 'three', 'four']) | 274 call setline(1, ['one', 'two', 'three', 'four']) |
275 ruby Vim::command('2,3d') | 275 ruby Vim::command('2,3d') |
276 call assert_equal(['one', 'four'], getline(1, '$')) | 276 call assert_equal(['one', 'four'], getline(1, '$')) |
277 bwipe! | 277 bwipe! |
278 endfunc | 278 endfunc |
279 | 279 |
280 " Test Vim::set_option (set a vim option) | 280 " Test Vim::set_option (set a vim option) |
281 func Test_Vim_set_option() | 281 func Test_ruby_Vim_set_option() |
282 call assert_equal(0, &number) | 282 call assert_equal(0, &number) |
283 ruby Vim::set_option('number') | 283 ruby Vim::set_option('number') |
284 call assert_equal(1, &number) | 284 call assert_equal(1, &number) |
285 ruby Vim::set_option('nonumber') | 285 ruby Vim::set_option('nonumber') |
286 call assert_equal(0, &number) | 286 call assert_equal(0, &number) |
287 endfunc | 287 endfunc |
288 | 288 |
289 func Test_Vim_evaluate() | 289 func Test_ruby_Vim_evaluate() |
290 call assert_equal(123, rubyeval('Vim::evaluate("123")')) | 290 call assert_equal(123, rubyeval('Vim::evaluate("123")')) |
291 " Vim::evaluate("123").class gives Integer or Fixnum depending | 291 " Vim::evaluate("123").class gives Integer or Fixnum depending |
292 " on versions of Ruby. | 292 " on versions of Ruby. |
293 call assert_match('^Integer\|Fixnum$', rubyeval('Vim::evaluate("123").class')) | 293 call assert_match('^Integer\|Fixnum$', rubyeval('Vim::evaluate("123").class')) |
294 | 294 |
295 call assert_equal(1.23, rubyeval('Vim::evaluate("1.23")')) | 295 if has('float') |
296 call assert_equal('Float', rubyeval('Vim::evaluate("1.23").class')) | 296 call assert_equal(1.23, rubyeval('Vim::evaluate("1.23")')) |
297 call assert_equal('Float', rubyeval('Vim::evaluate("1.23").class')) | |
298 endif | |
297 | 299 |
298 call assert_equal('foo', rubyeval('Vim::evaluate("\"foo\"")')) | 300 call assert_equal('foo', rubyeval('Vim::evaluate("\"foo\"")')) |
299 call assert_equal('String', rubyeval('Vim::evaluate("\"foo\"").class')) | 301 call assert_equal('String', rubyeval('Vim::evaluate("\"foo\"").class')) |
300 | 302 |
301 call assert_equal(["\x01\xAB"], rubyeval('Vim::evaluate("0z01ab").unpack("M")')) | 303 call assert_equal(["\x01\xAB"], rubyeval('Vim::evaluate("0z01ab").unpack("M")')) |
317 call assert_equal('TrueClass', rubyeval('Vim::evaluate("v:true").class')) | 319 call assert_equal('TrueClass', rubyeval('Vim::evaluate("v:true").class')) |
318 call assert_equal(v:false, rubyeval('Vim::evaluate("v:false")')) | 320 call assert_equal(v:false, rubyeval('Vim::evaluate("v:false")')) |
319 call assert_equal('FalseClass',rubyeval('Vim::evaluate("v:false").class')) | 321 call assert_equal('FalseClass',rubyeval('Vim::evaluate("v:false").class')) |
320 endfunc | 322 endfunc |
321 | 323 |
322 func Test_Vim_blob() | 324 func Test_ruby_Vim_blob() |
323 call assert_equal('0z', rubyeval('Vim::blob("")')) | 325 call assert_equal('0z', rubyeval('Vim::blob("")')) |
324 call assert_equal('0z31326162', rubyeval('Vim::blob("12ab")')) | 326 call assert_equal('0z31326162', rubyeval('Vim::blob("12ab")')) |
325 call assert_equal('0z00010203', rubyeval('Vim::blob("\x00\x01\x02\x03")')) | 327 call assert_equal('0z00010203', rubyeval('Vim::blob("\x00\x01\x02\x03")')) |
326 call assert_equal('0z8081FEFF', rubyeval('Vim::blob("\x80\x81\xfe\xff")')) | 328 call assert_equal('0z8081FEFF', rubyeval('Vim::blob("\x80\x81\xfe\xff")')) |
327 endfunc | 329 endfunc |
328 | 330 |
329 func Test_Vim_evaluate_list() | 331 func Test_ruby_Vim_evaluate_list() |
330 call setline(line('$'), ['2 line 2']) | 332 call setline(line('$'), ['2 line 2']) |
331 ruby Vim.command("normal /^2\n") | 333 ruby Vim.command("normal /^2\n") |
332 let l = ["abc", "def"] | 334 let l = ["abc", "def"] |
333 ruby << EOF | 335 ruby << EOF |
334 curline = $curbuf.line_number | 336 curline = $curbuf.line_number |
338 normal j | 340 normal j |
339 .rubydo $_ = $_.gsub(/\n/, '/') | 341 .rubydo $_ = $_.gsub(/\n/, '/') |
340 call assert_equal('abc/def', getline('$')) | 342 call assert_equal('abc/def', getline('$')) |
341 endfunc | 343 endfunc |
342 | 344 |
343 func Test_Vim_evaluate_dict() | 345 func Test_ruby_Vim_evaluate_dict() |
344 let d = {'a': 'foo', 'b': 123} | 346 let d = {'a': 'foo', 'b': 123} |
345 redir => l:out | 347 redir => l:out |
346 ruby d = Vim.evaluate("d"); print d | 348 ruby d = Vim.evaluate("d"); print d |
347 redir END | 349 redir END |
348 call assert_equal(['{"a"=>"foo", "b"=>123}'], split(l:out, "\n")) | 350 call assert_equal(['{"a"=>"foo", "b"=>123}'], split(l:out, "\n")) |
349 endfunc | 351 endfunc |
350 | 352 |
351 " Test Vim::message({msg}) (display message {msg}) | 353 " Test Vim::message({msg}) (display message {msg}) |
352 func Test_Vim_message() | 354 func Test_ruby_Vim_message() |
353 ruby Vim::message('A message') | 355 ruby Vim::message('A message') |
354 let messages = split(execute('message'), "\n") | 356 let messages = split(execute('message'), "\n") |
355 call assert_equal('A message', messages[-1]) | 357 call assert_equal('A message', messages[-1]) |
356 endfunc | 358 endfunc |
357 | 359 |
358 func Test_print() | 360 func Test_ruby_print() |
359 func RubyPrint(expr) | 361 func RubyPrint(expr) |
360 return trim(execute('ruby print ' . a:expr)) | 362 return trim(execute('ruby print ' . a:expr)) |
361 endfunc | 363 endfunc |
362 | 364 |
363 call assert_equal('123', RubyPrint('123')) | 365 call assert_equal('123', RubyPrint('123')) |
372 call assert_match('Module', RubyPrint('Vim.class')) | 374 call assert_match('Module', RubyPrint('Vim.class')) |
373 | 375 |
374 delfunc RubyPrint | 376 delfunc RubyPrint |
375 endfunc | 377 endfunc |
376 | 378 |
377 func Test_p() | 379 func Test_ruby_p() |
378 ruby p 'Just a test' | 380 ruby p 'Just a test' |
379 let messages = split(execute('message'), "\n") | 381 let messages = split(execute('message'), "\n") |
380 call assert_equal('"Just a test"', messages[-1]) | 382 call assert_equal('"Just a test"', messages[-1]) |
381 | 383 |
382 " Check return values of p method | 384 " Check return values of p method |