Mercurial > vim
comparison src/testdir/test_vim9_assign.vim @ 25776:f31cf0388eab v8.2.3423
patch 8.2.3423: Vim9: list += list creates a new list in :def function
Commit: https://github.com/vim/vim/commit/07802044b90b2cbcc64b2dfe235f019d7c37589c
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Sep 9 23:01:14 2021 +0200
patch 8.2.3423: Vim9: list += list creates a new list in :def function
Problem: Vim9: list += list creates a new list in :def function.
Solution: Append to the existing list.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 09 Sep 2021 23:15:04 +0200 |
parents | ba4e6e74c89f |
children | 7351926fbe9e |
comparison
equal
deleted
inserted
replaced
25775:90bcb4296e14 | 25776:f31cf0388eab |
---|---|
555 CheckDefFailure(lines, 'E1012: Type mismatch; expected list<number> but got dict<unknown>', 2) | 555 CheckDefFailure(lines, 'E1012: Type mismatch; expected list<number> but got dict<unknown>', 2) |
556 enddef | 556 enddef |
557 | 557 |
558 def Test_extend_list() | 558 def Test_extend_list() |
559 var lines =<< trim END | 559 var lines =<< trim END |
560 vim9script | 560 var l1: list<number> |
561 var l: list<number> | 561 var l2 = l1 |
562 l += [123] | 562 assert_true(l1 is l2) |
563 assert_equal([123], l) | 563 l1 += [123] |
564 END | 564 assert_equal([123], l1) |
565 CheckScriptSuccess(lines) | 565 assert_true(l1 is l2) |
566 | 566 END |
567 lines =<< trim END | 567 CheckDefAndScriptSuccess(lines) |
568 vim9script | 568 |
569 lines =<< trim END | |
569 var list: list<string> | 570 var list: list<string> |
570 extend(list, ['x']) | 571 extend(list, ['x']) |
571 assert_equal(['x'], list) | 572 assert_equal(['x'], list) |
572 END | 573 END |
573 CheckScriptSuccess(lines) | 574 CheckDefAndScriptSuccess(lines) |
574 | 575 |
575 # appending to NULL list from a function | 576 # appending to NULL list from a function |
576 lines =<< trim END | 577 lines =<< trim END |
577 vim9script | 578 vim9script |
578 var list: list<string> | 579 var list: list<string> |