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:')