Mercurial > vim
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 |