comparison src/testdir/test_vim9_assign.vim @ 24047:b535ab17d160 v8.2.2565

patch 8.2.2565: Vim9: "..=" not always recognized Commit: https://github.com/vim/vim/commit/f76ec1eeb5bba9457bf2b5564364ee90662a0156 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Mar 3 17:58:16 2021 +0100 patch 8.2.2565: Vim9: "..=" not always recognized Problem: Vim9: "..=" not always recognized. Solution: Do not consider "..=" to be string concatenation. (closes https://github.com/vim/vim/issues/7905)
author Bram Moolenaar <Bram@vim.org>
date Wed, 03 Mar 2021 18:00:04 +0100
parents 9fcd71d0db89
children 6e8f49a4a193
comparison
equal deleted inserted replaced
24046:353c5b0f1f9f 24047:b535ab17d160
1094 var dd = mylist[0][0] 1094 var dd = mylist[0][0]
1095 assert_equal('one', dd.one) 1095 assert_equal('one', dd.one)
1096 enddef 1096 enddef
1097 Func() 1097 Func()
1098 END 1098 END
1099 CheckScriptSuccess(lines)
1100 enddef
1101
1102 def Test_assign_dict_with_op()
1103 var lines =<< trim END
1104 vim9script
1105 var ds: dict<string> = {a: 'x'}
1106 ds['a'] ..= 'y'
1107 ds.a ..= 'z'
1108 assert_equal('xyz', ds.a)
1109
1110 var dn: dict<number> = {a: 9}
1111 dn['a'] += 2
1112 assert_equal(11, dn.a)
1113 dn.a += 2
1114 assert_equal(13, dn.a)
1115
1116 dn['a'] -= 3
1117 assert_equal(10, dn.a)
1118 dn.a -= 2
1119 assert_equal(8, dn.a)
1120
1121 dn['a'] *= 2
1122 assert_equal(16, dn.a)
1123 dn.a *= 2
1124 assert_equal(32, dn.a)
1125
1126 dn['a'] /= 3
1127 assert_equal(10, dn.a)
1128 dn.a /= 2
1129 assert_equal(5, dn.a)
1130
1131 dn['a'] %= 3
1132 assert_equal(2, dn.a)
1133 dn.a %= 6
1134 assert_equal(2, dn.a)
1135 END
1136 # TODO: this should also work with a :def function
1099 CheckScriptSuccess(lines) 1137 CheckScriptSuccess(lines)
1100 enddef 1138 enddef
1101 1139
1102 def Test_assign_lambda() 1140 def Test_assign_lambda()
1103 # check if assign a lambda to a variable which type is func or any. 1141 # check if assign a lambda to a variable which type is func or any.