comparison src/testdir/test_vim9_expr.vim @ 19423:f3e8e74cb747 v8.2.0269

patch 8.2.0269: Vim9: operator after list index does not work Commit: https://github.com/vim/vim/commit/b13af50f73dd89503c915f76fcf92be58789521a Author: Bram Moolenaar <Bram@vim.org> Date: Mon Feb 17 21:12:08 2020 +0100 patch 8.2.0269: Vim9: operator after list index does not work Problem: Vim9: operator after list index does not work. (Yasuhiro Matsumoto) Solution: After indexing a list change the type to the list member type. (closes #5651)
author Bram Moolenaar <Bram@vim.org>
date Mon, 17 Feb 2020 21:15:05 +0100
parents 77cce0439714
children 5d34ae66118e
comparison
equal deleted inserted replaced
19422:e5cd953790be 19423:f3e8e74cb747
476 assert_equal(4, g:anint % 6) 476 assert_equal(4, g:anint % 6)
477 assert_equal(3, 13 % g:anint) 477 assert_equal(3, 13 % g:anint)
478 assert_equal(2, g:anint % g:alsoint) 478 assert_equal(2, g:anint % g:alsoint)
479 479
480 assert_equal(4, 6 * 4 / 6) 480 assert_equal(4, 6 * 4 / 6)
481
482 let x = [2]
483 let y = [3]
484 assert_equal(5, x[0] + y[0])
485 assert_equal(6, x[0] * y[0])
486 if has('float')
487 let xf = [2.0]
488 let yf = [3.0]
489 assert_equal(5.0, xf[0] + yf[0])
490 assert_equal(6.0, xf[0] * yf[0])
491 endif
481 enddef 492 enddef
482 493
483 def Test_expr6_float() 494 def Test_expr6_float()
484 if !has('float') 495 if !has('float')
485 MissingFeature 'float' 496 MissingFeature 'float'
536 547
537 call CheckDefFailure("let x = #{one: 1} * #{two: 2}", 'E1036:') 548 call CheckDefFailure("let x = #{one: 1} * #{two: 2}", 'E1036:')
538 call CheckDefFailure("let x = #{one: 1} / #{two: 2}", 'E1036:') 549 call CheckDefFailure("let x = #{one: 1} / #{two: 2}", 'E1036:')
539 call CheckDefFailure("let x = #{one: 1} % #{two: 2}", 'E1035:') 550 call CheckDefFailure("let x = #{one: 1} % #{two: 2}", 'E1035:')
540 551
552 call CheckDefFailure("let x = 0xff[1]", 'E714:')
553 if has('float')
554 call CheckDefFailure("let x = 0.7[1]", 'E714:')
555 endif
541 endfunc 556 endfunc
542 557
543 func Test_expr6_float_fails() 558 func Test_expr6_float_fails()
544 CheckFeature float 559 CheckFeature float
545 call CheckDefFailure("let x = 1.0 % 2", 'E1035:') 560 call CheckDefFailure("let x = 1.0 % 2", 'E1035:')