comparison src/testdir/test_vim9_expr.vim @ 24602:033b43570140 v8.2.2840

patch 8.2.2840: Vim9: member operation not fully tested Commit: https://github.com/vim/vim/commit/261417b872e6449fe1ca4e7d10f1cfd9736ea453 Author: Bram Moolenaar <Bram@vim.org> Date: Thu May 6 21:04:55 2021 +0200 patch 8.2.2840: Vim9: member operation not fully tested Problem: Vim9: member operation not fully tested. Solution: Add a few tests.
author Bram Moolenaar <Bram@vim.org>
date Thu, 06 May 2021 21:15:04 +0200
parents cb0d344bd381
children 668df21d8bc6
comparison
equal deleted inserted replaced
24601:244ecababf00 24602:033b43570140
3064 assert_equal('', text[999 : -1]) 3064 assert_equal('', text[999 : -1])
3065 3065
3066 assert_equal('ábçd', text[: 3]) 3066 assert_equal('ábçd', text[: 3])
3067 assert_equal('bçdëf', text[1 :]) 3067 assert_equal('bçdëf', text[1 :])
3068 assert_equal('ábçdëf', text[:]) 3068 assert_equal('ábçdëf', text[:])
3069
3070 assert_equal('a', g:astring[0])
3071 assert_equal('sd', g:astring[1 : 2])
3072 assert_equal('asdf', g:astring[:])
3069 END 3073 END
3070 CheckDefAndScriptSuccess(lines) 3074 CheckDefAndScriptSuccess(lines)
3071 3075
3072 lines =<< trim END 3076 lines =<< trim END
3073 var d = 'asdf'[1 : 3077 var d = 'asdf'[1 :
3133 assert_equal([0, 1, 2, 3, 4], list[0 : -1]) 3137 assert_equal([0, 1, 2, 3, 4], list[0 : -1])
3134 assert_equal([0, 1, 2], list[0 : -3]) 3138 assert_equal([0, 1, 2], list[0 : -3])
3135 assert_equal([0], list[0 : -5]) 3139 assert_equal([0], list[0 : -5])
3136 assert_equal([], list[0 : -6]) 3140 assert_equal([], list[0 : -6])
3137 assert_equal([], list[0 : -99]) 3141 assert_equal([], list[0 : -99])
3142
3143 assert_equal(2, g:alist[0])
3144 assert_equal([2, 3, 4], g:alist[:])
3138 END 3145 END
3139 CheckDefAndScriptSuccess(lines) 3146 CheckDefAndScriptSuccess(lines)
3140 3147
3141 lines = ['var l = [0, 1, 2]', 'echo l[g:astring : g:theone]'] 3148 lines = ['var l = [0, 1, 2]', 'echo l[g:astring : g:theone]']
3142 CheckDefExecAndScriptFailure2(lines, 'E1012:', 'E1030:', 2) 3149 CheckDefExecAndScriptFailure2(lines, 'E1012:', 'E1030:', 2)
3154 def Test_expr7_dict_subscript() 3161 def Test_expr7_dict_subscript()
3155 var lines =<< trim END 3162 var lines =<< trim END
3156 var l = [{lnum: 2}, {lnum: 1}] 3163 var l = [{lnum: 2}, {lnum: 1}]
3157 var res = l[0].lnum > l[1].lnum 3164 var res = l[0].lnum > l[1].lnum
3158 assert_true(res) 3165 assert_true(res)
3166
3167 assert_equal(2, g:adict['aaa'])
3168 assert_equal(8, g:adict.bbb)
3159 3169
3160 var dd = {} 3170 var dd = {}
3161 def Func1() 3171 def Func1()
3162 eval dd.key1.key2 3172 eval dd.key1.key2
3163 enddef 3173 enddef
3167 defcompile 3177 defcompile
3168 END 3178 END
3169 CheckDefAndScriptSuccess(lines) 3179 CheckDefAndScriptSuccess(lines)
3170 enddef 3180 enddef
3171 3181
3182 def Test_expr7_blob_subscript()
3183 var lines =<< trim END
3184 var b = 0z112233
3185 assert_equal(0x11, b[0])
3186 assert_equal(0z112233, b[:])
3187
3188 assert_equal(0x01, g:ablob[0])
3189 assert_equal(0z01ab, g:ablob[:])
3190 END
3191 CheckDefAndScriptSuccess(lines)
3192 enddef
3193
3172 def Test_expr7_subscript_linebreak() 3194 def Test_expr7_subscript_linebreak()
3173 var lines =<< trim END 3195 var lines =<< trim END
3174 var range = range( 3196 var range = range(
3175 3) 3197 3)
3176 var l = range 3198 var l = range