Mercurial > vim
comparison src/testdir/test_vim9_script.vim @ 22272:eb1f5f618c75 v8.2.1685
patch 8.2.1685: Vim9: cannot declare a constant value
Commit: https://github.com/vim/vim/commit/0b4c66c67a083f25816b9cdb8e76a41e02d9f560
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Sep 14 21:39:44 2020 +0200
patch 8.2.1685: Vim9: cannot declare a constant value
Problem: Vim9: cannot declare a constant value.
Solution: Introduce ":const!".
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 14 Sep 2020 21:45:04 +0200 |
parents | 23f5750146d9 |
children | 1634ca41e4d3 |
comparison
equal
deleted
inserted
replaced
22271:0440d470ae70 | 22272:eb1f5f618c75 |
---|---|
826 CheckDefFailure(['const &option'], 'E996:') | 826 CheckDefFailure(['const &option'], 'E996:') |
827 | 827 |
828 let lines =<< trim END | 828 let lines =<< trim END |
829 const list = [1, 2, 3] | 829 const list = [1, 2, 3] |
830 list[0] = 4 | 830 list[0] = 4 |
831 list->assert_equal([4, 2, 3]) | |
832 const! other = [5, 6, 7] | |
833 other->assert_equal([5, 6, 7]) | |
831 END | 834 END |
832 CheckDefAndScriptSuccess(lines) | 835 CheckDefAndScriptSuccess(lines) |
836 enddef | |
837 | |
838 def Test_const_bang() | |
839 let lines =<< trim END | |
840 const! var = 234 | |
841 var = 99 | |
842 END | |
843 CheckDefExecFailure(lines, 'E1018:', 2) | |
844 CheckScriptFailure(['vim9script'] + lines, 'E46:', 3) | |
845 | |
846 lines =<< trim END | |
847 const! ll = [2, 3, 4] | |
848 ll[0] = 99 | |
849 END | |
850 CheckDefExecFailure(lines, 'E1119:', 2) | |
851 CheckScriptFailure(['vim9script'] + lines, 'E741:', 3) | |
852 | |
853 lines =<< trim END | |
854 const! ll = [2, 3, 4] | |
855 ll[3] = 99 | |
856 END | |
857 CheckDefExecFailure(lines, 'E1118:', 2) | |
858 CheckScriptFailure(['vim9script'] + lines, 'E684:', 3) | |
859 | |
860 lines =<< trim END | |
861 const! dd = #{one: 1, two: 2} | |
862 dd["one"] = 99 | |
863 END | |
864 CheckDefExecFailure(lines, 'E1121:', 2) | |
865 CheckScriptFailure(['vim9script'] + lines, 'E741:', 3) | |
866 | |
867 lines =<< trim END | |
868 const! dd = #{one: 1, two: 2} | |
869 dd["three"] = 99 | |
870 END | |
871 CheckDefExecFailure(lines, 'E1120:') | |
872 CheckScriptFailure(['vim9script'] + lines, 'E741:', 3) | |
833 enddef | 873 enddef |
834 | 874 |
835 def Test_range_no_colon() | 875 def Test_range_no_colon() |
836 CheckDefFailure(['%s/a/b/'], 'E1050:') | 876 CheckDefFailure(['%s/a/b/'], 'E1050:') |
837 CheckDefFailure(['+ s/a/b/'], 'E1050:') | 877 CheckDefFailure(['+ s/a/b/'], 'E1050:') |