1
0
forked from aniani/vim

patch 8.2.3263: Vim9: "..=" does not accept same types as the ".." operator

Problem:    Vim9: "..=" does not accept same types as the ".." operator.
Solution:   Convert value to string like ".." does. (issue #8664)
This commit is contained in:
Bram Moolenaar
2021-07-31 22:51:10 +02:00
parent 9e0ee59019
commit f5d52c90e0
4 changed files with 40 additions and 7 deletions

View File

@@ -239,6 +239,32 @@ def Test_assignment()
END
enddef
let g:someNumber = 43
def Test_assign_concat()
var lines =<< trim END
var s = '-'
s ..= 99
s ..= true
s ..= '-'
s ..= v:null
s ..= g:someNumber
assert_equal('-99true-null43', s)
END
CheckDefAndScriptSuccess(lines)
lines =<< trim END
var s = '-'
s ..= [1, 2]
END
CheckDefAndScriptFailure2(lines, 'E1105: Cannot convert list to string', 'E734: Wrong variable type for .=', 2)
lines =<< trim END
var s = '-'
s ..= {a: 2}
END
CheckDefAndScriptFailure2(lines, 'E1105: Cannot convert dict to string', 'E734: Wrong variable type for .=', 2)
enddef
def Test_assign_register()
var lines =<< trim END
@c = 'areg'