Mercurial > vim
comparison src/testdir/test_vim9_expr.vim @ 23525:54ec7c8b7459 v8.2.2305
patch 8.2.2305: Vim9: "++var" and "--var" are silently accepted
Commit: https://github.com/vim/vim/commit/b23279d7a2d28de5df942924b77cf23672fc684f
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jan 5 22:08:20 2021 +0100
patch 8.2.2305: Vim9: "++var" and "--var" are silently accepted
Problem: Vim9: "++var" and "--var" are silently accepted.
Solution: Give an error message.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 05 Jan 2021 22:15:04 +0100 |
parents | cb66613dd9d5 |
children | 1bb7fa4f9b35 |
comparison
equal
deleted
inserted
replaced
23524:d2787a89dcf8 | 23525:54ec7c8b7459 |
---|---|
2514 assert_equal(4, (6 * 4) / 6) | 2514 assert_equal(4, (6 * 4) / 6) |
2515 assert_equal(0, 6 * ( 4 / 6 )) | 2515 assert_equal(0, 6 * ( 4 / 6 )) |
2516 | 2516 |
2517 assert_equal(6, +6) | 2517 assert_equal(6, +6) |
2518 assert_equal(-6, -6) | 2518 assert_equal(-6, -6) |
2519 assert_equal(6, --6) | |
2520 assert_equal(6, -+-6) | |
2521 assert_equal(-6, ---6) | |
2522 assert_equal(false, !-3) | 2519 assert_equal(false, !-3) |
2523 assert_equal(true, !+-+0) | 2520 assert_equal(true, !+0) |
2524 enddef | 2521 enddef |
2525 | 2522 |
2526 def Test_expr7_parens_vim9script() | 2523 def Test_expr7_parens_vim9script() |
2527 var lines =<< trim END | 2524 var lines =<< trim END |
2528 vim9script | 2525 vim9script |
2537 enddef | 2534 enddef |
2538 | 2535 |
2539 def Test_expr7_negate_add() | 2536 def Test_expr7_negate_add() |
2540 assert_equal(-99, -99) | 2537 assert_equal(-99, -99) |
2541 assert_equal(-99, - 99) | 2538 assert_equal(-99, - 99) |
2542 assert_equal(99, --99) | |
2543 assert_equal(99, -- 99) | |
2544 assert_equal(99, - - 99) | |
2545 assert_equal(99, +99) | 2539 assert_equal(99, +99) |
2546 assert_equal(-99, -+99) | |
2547 assert_equal(-99, -+ 99) | |
2548 assert_equal(-99, - +99) | |
2549 assert_equal(-99, - + 99) | |
2550 assert_equal(-99, +-99) | |
2551 assert_equal(-99, + -99) | |
2552 assert_equal(-99, + - 99) | |
2553 | 2540 |
2554 var nr = 88 | 2541 var nr = 88 |
2555 assert_equal(-88, -nr) | 2542 assert_equal(-88, -nr) |
2556 assert_equal(-88, - nr) | 2543 assert_equal(-88, - nr) |
2557 assert_equal(-88, - +nr) | |
2558 assert_equal(88, -- nr) | |
2559 assert_equal(88, + nr) | 2544 assert_equal(88, + nr) |
2560 assert_equal(88, --+ nr) | 2545 |
2561 assert_equal(88, - - nr) | 2546 var lines =<< trim END |
2547 var n = 12 | |
2548 echo ++n | |
2549 END | |
2550 CheckDefAndScriptFailure(lines, 'E15:') | |
2551 lines =<< trim END | |
2552 var n = 12 | |
2553 echo --n | |
2554 END | |
2555 CheckDefAndScriptFailure(lines, 'E15:') | |
2556 lines =<< trim END | |
2557 var n = 12 | |
2558 echo +-n | |
2559 END | |
2560 CheckDefAndScriptFailure(lines, 'E15:') | |
2561 lines =<< trim END | |
2562 var n = 12 | |
2563 echo -+n | |
2564 END | |
2565 CheckDefAndScriptFailure(lines, 'E15:') | |
2566 lines =<< trim END | |
2567 var n = 12 | |
2568 echo - -n | |
2569 END | |
2570 CheckDefAndScriptFailure(lines, 'E15:') | |
2571 lines =<< trim END | |
2572 var n = 12 | |
2573 echo + +n | |
2574 END | |
2575 CheckDefAndScriptFailure(lines, 'E15:') | |
2576 | |
2577 lines =<< trim END | |
2578 var n = 12 | |
2579 :1 | |
2580 ++n | |
2581 END | |
2582 CheckDefAndScriptFailure(lines, 'E1050:') | |
2583 lines =<< trim END | |
2584 var n = 12 | |
2585 :1 | |
2586 --n | |
2587 END | |
2588 CheckDefAndScriptFailure(lines, 'E1050:') | |
2562 enddef | 2589 enddef |
2563 | 2590 |
2564 def Echo(arg: any): string | 2591 def Echo(arg: any): string |
2565 return arg | 2592 return arg |
2566 enddef | 2593 enddef |
2571 | 2598 |
2572 def Test_expr7_call() | 2599 def Test_expr7_call() |
2573 var lines =<< trim END | 2600 var lines =<< trim END |
2574 assert_equal('yes', 'yes'->Echo()) | 2601 assert_equal('yes', 'yes'->Echo()) |
2575 assert_equal(true, !range(5)->empty()) | 2602 assert_equal(true, !range(5)->empty()) |
2576 assert_equal([0, 1, 2], --3->range()) | 2603 assert_equal([0, 1, 2], 3->range()) |
2577 END | 2604 END |
2578 CheckDefAndScriptSuccess(lines) | 2605 CheckDefAndScriptSuccess(lines) |
2579 | 2606 |
2580 assert_equal('yes', 'yes' | 2607 assert_equal('yes', 'yes' |
2581 ->s:Echo4Arg()) | 2608 ->s:Echo4Arg()) |