@@ -3123,15 +3123,26 @@ def Test_expr7_not()
31233123 CheckDefAndScriptSuccess (lines )
31243124enddef
31253125
3126+ let g: anumber = 42
3127+
3128+ def Test_expr7_negate ()
3129+ var lines = << trim END
3130+ var nr = 1
3131+ assert_equal (-1 , - nr)
3132+ assert_equal (-42 , - g: anumber )
3133+ END
3134+ CheckDefAndScriptSuccess (lines )
3135+ enddef
3136+
31263137func Test_expr7_fails ()
31273138 call CheckDefFailure ([" var x = (12" ], " E1097:" , 3 )
31283139 call CheckScriptFailure ([' vim9script' , " var x = (12" ], ' E110:' , 2 )
31293140
31303141 call CheckDefAndScriptFailure ([" var x = -'xx'" ], " E1030:" , 1 )
31313142 call CheckDefAndScriptFailure ([" var x = +'xx'" ], " E1030:" , 1 )
31323143 call CheckDefAndScriptFailure ([" var x = -0z12" ], " E974:" , 1 )
3133- call CheckDefExecAndScriptFailure2 ([" var x = -[8]" ], " E39 :" , ' E745:' , 1 )
3134- call CheckDefExecAndScriptFailure2 ([" var x = -{a: 1}" ], " E39 :" , ' E728:' , 1 )
3144+ call CheckDefExecAndScriptFailure2 ([" var x = -[8]" ], " E1012 :" , ' E745:' , 1 )
3145+ call CheckDefExecAndScriptFailure2 ([" var x = -{a: 1}" ], " E1012 :" , ' E728:' , 1 )
31353146
31363147 call CheckDefAndScriptFailure ([" var x = @" ], " E1002:" , 1 )
31373148 call CheckDefAndScriptFailure ([" var x = @<" ], " E354:" , 1 )
@@ -3154,10 +3165,10 @@ func Test_expr7_fails()
31543165 call CheckDefAndScriptFailure2 ([" echo l:somevar" ], ' E1075:' , ' E121:' , 1 )
31553166 call CheckDefAndScriptFailure2 ([" echo x:somevar" ], ' E1075:' , ' E121:' , 1 )
31563167
3157- call CheckDefExecAndScriptFailure ([" var x = +g:astring" ], ' E1030:' , 1 )
3158- call CheckDefExecAndScriptFailure ([" var x = +g:ablob" ], ' E974:' , 1 )
3159- call CheckDefExecAndScriptFailure ([" var x = +g:alist" ], ' E745:' , 1 )
3160- call CheckDefExecAndScriptFailure ([" var x = +g:adict" ], ' E728:' , 1 )
3168+ call CheckDefExecAndScriptFailure2 ([" var x = +g:astring" ], ' E1012: ' , ' E1030:' , 1 )
3169+ call CheckDefExecAndScriptFailure2 ([" var x = +g:ablob" ], ' E1012: ' , ' E974:' , 1 )
3170+ call CheckDefExecAndScriptFailure2 ([" var x = +g:alist" ], ' E1012: ' , ' E745:' , 1 )
3171+ call CheckDefExecAndScriptFailure2 ([" var x = +g:adict" ], ' E1012: ' , ' E728:' , 1 )
31613172
31623173 call CheckDefAndScriptFailure2 ([" var x = ''" , " var y = x.memb" ], ' E1229: Expected dictionary for using key "memb", but got string' , ' E488:' , 2 )
31633174
0 commit comments