@@ -39,7 +39,7 @@ let g:alist = [7]
3939let g: astring = ' text'
4040let g: anumber = 123
4141
42- def Test_assignment ()
42+ def Test_assignment_bool ()
4343 let bool1: bool = true
4444 assert_equal (v: true , bool1)
4545 let bool2: bool = false
@@ -50,6 +50,25 @@ def Test_assignment()
5050 let bool4: bool = 1
5151 assert_equal (1 , bool4)
5252
53+ let lines = << trim END
54+ vim9script
55+ def GetFlag (): bool
56+ let flag: bool = 1
57+ return flag
58+ enddef
59+ let flag: bool = GetFlag ()
60+ flag = 0
61+ flag = 1
62+ END
63+ CheckScriptSuccess (lines )
64+ CheckDefAndScriptFailure ([' let x: bool = 2' ], ' E1012:' )
65+ CheckDefAndScriptFailure ([' let x: bool = -1' ], ' E1012:' )
66+ CheckDefAndScriptFailure ([' let x: bool = [1]' ], ' E1012:' )
67+ CheckDefAndScriptFailure ([' let x: bool = {}' ], ' E1012:' )
68+ CheckDefAndScriptFailure ([' let x: bool = "x"' ], ' E1012:' )
69+ enddef
70+
71+ def Test_assignment ()
5372 CheckDefFailure ([' let x:string' ], ' E1069:' )
5473 CheckDefFailure ([' let x:string = "x"' ], ' E1069:' )
5574 CheckDefFailure ([' let a:string = "x"' ], ' E1069:' )
@@ -164,8 +183,7 @@ def Test_assignment()
164183 assert_equal (' xxx' , &t_TI )
165184 &t_TI = save_TI
166185 END
167- CheckDefSuccess (lines )
168- CheckScriptSuccess ([' vim9script' ] + lines )
186+ CheckDefAndScriptSuccess (lines )
169187
170188 CheckDefFailure ([' &t_TI = 123' ], ' E1012:' )
171189 CheckScriptFailure ([' vim9script' , ' &t_TI = 123' ], ' E928:' )
0 commit comments