Mercurial > vim
comparison src/testdir/test_vim9_assign.vim @ 23124:f8cd5a5e03c4 v8.2.2108
patch 8.2.2108: Vim9: no test to check for :let error
Commit: https://github.com/vim/vim/commit/083966f671475ae1b67f746f0b3f5309a45dfd8f
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Dec 8 11:29:40 2020 +0100
patch 8.2.2108: Vim9: no test to check for :let error
Problem: Vim9: no test to check for :let error.
Solution: Add a test. Rename tests from _let_ to _var_.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 08 Dec 2020 11:30:06 +0100 |
parents | 60a0221beab0 |
children | 1a9705075244 |
comparison
equal
deleted
inserted
replaced
23123:056a2a041cf2 | 23124:f8cd5a5e03c4 |
---|---|
993 [END] | 993 [END] |
994 CheckScriptFailure(lines, 'E990:') | 994 CheckScriptFailure(lines, 'E990:') |
995 delfunc! g:Func | 995 delfunc! g:Func |
996 enddef | 996 enddef |
997 | 997 |
998 def Test_let_func_call() | 998 def Test_var_func_call() |
999 var lines =<< trim END | 999 var lines =<< trim END |
1000 vim9script | 1000 vim9script |
1001 func GetValue() | 1001 func GetValue() |
1002 if exists('g:count') | 1002 if exists('g:count') |
1003 let g:count += 1 | 1003 let g:count += 1 |
1017 | 1017 |
1018 unlet g:count | 1018 unlet g:count |
1019 delete('Xfinished') | 1019 delete('Xfinished') |
1020 enddef | 1020 enddef |
1021 | 1021 |
1022 def Test_let_missing_type() | 1022 def Test_var_missing_type() |
1023 var lines =<< trim END | 1023 var lines =<< trim END |
1024 vim9script | 1024 vim9script |
1025 var name = g:unknown | 1025 var name = g:unknown |
1026 END | 1026 END |
1027 CheckScriptFailure(lines, 'E121:') | 1027 CheckScriptFailure(lines, 'E121:') |
1032 var name = nr | 1032 var name = nr |
1033 END | 1033 END |
1034 CheckScriptSuccess(lines) | 1034 CheckScriptSuccess(lines) |
1035 enddef | 1035 enddef |
1036 | 1036 |
1037 def Test_let_declaration() | 1037 def Test_var_declaration() |
1038 var lines =<< trim END | 1038 var lines =<< trim END |
1039 vim9script | 1039 vim9script |
1040 var name: string | 1040 var name: string |
1041 g:var_uninit = name | 1041 g:var_uninit = name |
1042 name = 'text' | 1042 name = 'text' |
1067 unlet g:var_test | 1067 unlet g:var_test |
1068 unlet g:var_prefixed | 1068 unlet g:var_prefixed |
1069 unlet g:other_var | 1069 unlet g:other_var |
1070 enddef | 1070 enddef |
1071 | 1071 |
1072 def Test_let_declaration_fails() | 1072 def Test_var_declaration_fails() |
1073 var lines =<< trim END | 1073 var lines =<< trim END |
1074 vim9script | 1074 vim9script |
1075 final var: string | 1075 final var: string |
1076 END | 1076 END |
1077 CheckScriptFailure(lines, 'E1125:') | 1077 CheckScriptFailure(lines, 'E1125:') |
1087 var 9var: string | 1087 var 9var: string |
1088 END | 1088 END |
1089 CheckScriptFailure(lines, 'E475:') | 1089 CheckScriptFailure(lines, 'E475:') |
1090 enddef | 1090 enddef |
1091 | 1091 |
1092 def Test_let_type_check() | 1092 def Test_var_type_check() |
1093 var lines =<< trim END | 1093 var lines =<< trim END |
1094 vim9script | 1094 vim9script |
1095 var name: string | 1095 var name: string |
1096 name = 1234 | 1096 name = 1234 |
1097 END | 1097 END |
1124 CheckScriptSuccess(lines) | 1124 CheckScriptSuccess(lines) |
1125 enddef | 1125 enddef |
1126 | 1126 |
1127 let g:dict_number = #{one: 1, two: 2} | 1127 let g:dict_number = #{one: 1, two: 2} |
1128 | 1128 |
1129 def Test_let_list_dict_type() | 1129 def Test_var_list_dict_type() |
1130 var ll: list<number> | 1130 var ll: list<number> |
1131 ll = [1, 2, 2, 3, 3, 3]->uniq() | 1131 ll = [1, 2, 2, 3, 3, 3]->uniq() |
1132 ll->assert_equal([1, 2, 3]) | 1132 ll->assert_equal([1, 2, 3]) |
1133 | 1133 |
1134 var dd: dict<number> | 1134 var dd: dict<number> |
1138 var lines =<< trim END | 1138 var lines =<< trim END |
1139 var ll: list<number> | 1139 var ll: list<number> |
1140 ll = [1, 2, 3]->map('"one"') | 1140 ll = [1, 2, 3]->map('"one"') |
1141 END | 1141 END |
1142 CheckDefExecFailure(lines, 'E1012: Type mismatch; expected list<number> but got list<string>') | 1142 CheckDefExecFailure(lines, 'E1012: Type mismatch; expected list<number> but got list<string>') |
1143 enddef | |
1144 | |
1145 def Test_cannot_use_let() | |
1146 CheckDefAndScriptFailure(['let a = 34'], 'E1126:', 1) | |
1143 enddef | 1147 enddef |
1144 | 1148 |
1145 def Test_unlet() | 1149 def Test_unlet() |
1146 g:somevar = 'yes' | 1150 g:somevar = 'yes' |
1147 assert_true(exists('g:somevar')) | 1151 assert_true(exists('g:somevar')) |