Mercurial > vim
comparison src/testdir/test_listdict.vim @ 26624:bdf11d8e3df3 v8.2.3841
patch 8.2.3841: Vim9: outdated TODO items, disabled tests that work
Commit: https://github.com/vim/vim/commit/71b768509250b12696e8cc90e5902029f1b5433d
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Dec 17 20:15:38 2021 +0000
patch 8.2.3841: Vim9: outdated TODO items, disabled tests that work
Problem: Vim9: outdated TODO items, disabled tests that work.
Solution: Remove TODO items, run tests that work now. Check that a dict
item isn't locked.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 17 Dec 2021 21:30:03 +0100 |
parents | 936f77929f16 |
children | 4d18b3a5254a |
comparison
equal
deleted
inserted
replaced
26623:f94007638026 | 26624:bdf11d8e3df3 |
---|---|
741 VAR d = {'a': 99, 'b': 100} | 741 VAR d = {'a': 99, 'b': 100} |
742 lockvar d.a | 742 lockvar d.a |
743 unlet d.a | 743 unlet d.a |
744 call assert_equal({'b': 100}, d) | 744 call assert_equal({'b': 100}, d) |
745 END | 745 END |
746 " TODO: make this work in a :def function | 746 call CheckLegacyAndVim9Success(lines) |
747 "call CheckLegacyAndVim9Success(lines) | |
748 call CheckTransLegacySuccess(lines) | |
749 call CheckTransVim9Success(lines) | |
750 endfunc | 747 endfunc |
751 | 748 |
752 " filter() after lock on dict item | 749 " filter() after lock on dict item |
753 func Test_dict_lock_filter() | 750 func Test_dict_lock_filter() |
754 let lines =<< trim END | 751 let lines =<< trim END |
755 VAR d = {'a': 99, 'b': 100} | 752 VAR d = {'a': 99, 'b': 100} |
756 lockvar d.a | 753 lockvar d.a |
757 call filter(d, 'v:key != "a"') | 754 call filter(d, 'v:key != "a"') |
758 call assert_equal({'b': 100}, d) | 755 call assert_equal({'b': 100}, d) |
759 END | 756 END |
760 " TODO: make this work in a :def function | 757 call CheckLegacyAndVim9Success(lines) |
761 "call CheckLegacyAndVim9Success(lines) | |
762 call CheckTransLegacySuccess(lines) | |
763 call CheckTransVim9Success(lines) | |
764 endfunc | 758 endfunc |
765 | 759 |
766 " map() after lock on dict | 760 " map() after lock on dict |
767 func Test_dict_lock_map() | 761 func Test_dict_lock_map() |
768 let lines =<< trim END | 762 let lines =<< trim END |
772 call assert_equal({'a': 299, 'b': 300}, d) | 766 call assert_equal({'a': 299, 'b': 300}, d) |
773 END | 767 END |
774 " This won't work in a :def function | 768 " This won't work in a :def function |
775 call CheckTransLegacySuccess(lines) | 769 call CheckTransLegacySuccess(lines) |
776 call CheckTransVim9Success(lines) | 770 call CheckTransVim9Success(lines) |
771 | |
772 " For a :def function use a global dict. | |
773 let lines =<< trim END | |
774 let g:thedict = {'a': 77, 'b': 88} | |
775 lockvar 1 g:thedict | |
776 def Delkey() | |
777 unlet g:thedict.a | |
778 enddef | |
779 call Delkey() | |
780 END | |
781 call CheckScriptFailure(lines, 'E741:') | |
777 endfunc | 782 endfunc |
778 | 783 |
779 " No extend() after lock on dict item | 784 " No extend() after lock on dict item |
780 func Test_dict_lock_extend() | 785 func Test_dict_lock_extend() |
781 let d = {'a': 99, 'b': 100} | 786 let d = {'a': 99, 'b': 100} |