@@ -706,9 +706,12 @@ def Test_expr7_list()
706706 assert_equal (g: list_empty , [])
707707 assert_equal (g: list_empty , [ ])
708708 assert_equal (g: list_mixed , [1 , ' b' , false])
709+ assert_equal (' b' , g: list_mixed [1 ])
709710
710711 call CheckDefExecFailure (" let x = g:anint[3]" , ' E714:' )
712+ call CheckDefFailure (" let x = g:list_mixed[xxx]" , ' E1001:' )
711713 call CheckDefExecFailure (" let x = g:list_mixed['xx']" , ' E39:' )
714+ call CheckDefFailure (" let x = g:list_mixed[0" , ' E111:' )
712715 call CheckDefExecFailure (" let x = g:list_empty[3]" , ' E684:' )
713716enddef
714717
@@ -739,6 +742,12 @@ def Test_expr7_dict()
739742 call CheckDefExecFailure (" let x = g:dict_empty.member" , ' E716:' )
740743enddef
741744
745+ def Test_expr_member ()
746+ assert_equal (1 , g: dict_one .one)
747+
748+ call CheckDefFailure (" let x = g:dict_one.#$!" , ' E1002:' )
749+ enddef
750+
742751def Test_expr7_option ()
743752 " option
744753 set ts = 11
@@ -778,6 +787,30 @@ def Test_expr7_parens()
778787 assert_equal (-6 , -- -6 )
779788enddef
780789
790+ def Test_expr7_negate ()
791+ assert_equal (-99 , -99 )
792+ assert_equal (99 , - -99 )
793+ let nr = 88
794+ assert_equal (-88 , - nr)
795+ assert_equal (88 , -- nr)
796+ enddef
797+
798+ def Echo (arg): string
799+ return arg
800+ enddef
801+
802+ def s: EchoArg (arg): string
803+ return arg
804+ enddef
805+
806+ def Test_expr7_call ()
807+ assert_equal (' yes' , ' yes' - >Echo ())
808+ assert_equal (' yes' , ' yes' - >s: EchoArg ())
809+
810+ call CheckDefFailure (" let x = 'yes'->Echo" , ' E107:' )
811+ enddef
812+
813+
781814def Test_expr7_not ()
782815 assert_equal (true, ! ' ' )
783816 assert_equal (true, ! [])
0 commit comments