feat(eval): partially port v8.1.1915

Cannot be fully ported as chdir() hasn't been ported yet.
This commit is contained in:
Sean Dewar
2021-08-07 22:39:23 +01:00
parent 56b56a76e8
commit 5d88349817
9 changed files with 72 additions and 25 deletions

View File

@@ -70,16 +70,16 @@ return {
changenr={},
chanclose={args={1, 2}},
chansend={args=2},
char2nr={args={1, 2}},
char2nr={args={1, 2}, base=1},
charidx={args={2, 3}},
cindent={args=1},
clearmatches={args={0, 1}},
col={args=1},
complete={args=2},
complete_add={args=1},
cindent={args=1, base=1},
clearmatches={args={0, 1}, base=1},
col={args=1, base=1},
complete={args=2, base=2},
complete_add={args=1, base=1},
complete_check={},
complete_info={args={0, 1}},
confirm={args={1, 4}},
complete_info={args={0, 1}, base=1},
confirm={args={1, 4}, base=1},
copy={args=1, base=1},
cos={args=1, base=1, func="float_op_wrapper", data="&cos"},
cosh={args=1, base=1, func="float_op_wrapper", data="&cosh"},
@@ -90,16 +90,16 @@ return {
ctxpush={args={0, 1}},
ctxset={args={1, 2}},
ctxsize={},
cursor={args={1, 3}},
debugbreak={args={1, 1}},
deepcopy={args={1, 2}},
delete={args={1,2}},
deletebufline={args={2,3}},
cursor={args={1, 3}, base=1},
debugbreak={args={1, 1}, base=1},
deepcopy={args={1, 2}, base=1},
delete={args={1,2}, base=1},
deletebufline={args={2,3}, base=1},
dictwatcheradd={args=3},
dictwatcherdel={args=3},
did_filetype={},
diff_filler={args=1},
diff_hlID={args=2},
diff_filler={args=1, base=1},
diff_hlID={args=2, base=1},
empty={args=1, base=1},
environ={},
escape={args=2},

View File

@@ -102,7 +102,7 @@ func Test_deletebufline()
call assert_equal(0, deletebufline(b, 2, 8))
call assert_equal(['aaa'], getbufline(b, 1, 2))
exe "bd!" b
call assert_equal(1, deletebufline(b, 1))
call assert_equal(1, b->deletebufline(1))
split Xtest
call setline(1, ['a', 'b', 'c'])

View File

@@ -122,9 +122,9 @@ func Test_cindent_func()
new
setlocal cindent
call setline(1, ['int main(void)', '{', 'return 0;', '}'])
call assert_equal(cindent(0), -1)
call assert_equal(cindent(3), &sw)
call assert_equal(cindent(line('$')+1), -1)
call assert_equal(-1, cindent(0))
call assert_equal(&sw, 3->cindent())
call assert_equal(-1, cindent(line('$')+1))
bwipe!
endfunc

View File

@@ -725,7 +725,7 @@ func Test_diff_filler()
diffthis
redraw
call assert_equal([0, 0, 0, 0, 0, 0, 0, 1, 0], map(range(-1, 7), 'diff_filler(v:val)'))
call assert_equal([0, 0, 0, 0, 0, 0, 0, 1, 0], map(range(-1, 7), 'v:val->diff_filler()'))
wincmd w
call assert_equal([0, 0, 0, 0, 2, 0, 0, 0], map(range(-1, 6), 'diff_filler(v:val)'))

View File

@@ -1093,7 +1093,7 @@ func Test_col()
call assert_equal(7, col('$'))
call assert_equal(4, col("'x"))
call assert_equal(6, col("'Y"))
call assert_equal(2, col([1, 2]))
call assert_equal(2, [1, 2]->col())
call assert_equal(7, col([1, '$']))
call assert_equal(0, col(''))

View File

@@ -239,7 +239,7 @@ func Test_matchaddpos_otherwin()
\]
call assert_equal(expect, savematches)
call clearmatches(winid)
eval winid->clearmatches()
call assert_equal([], getmatches(winid))
call setmatches(savematches, winid)

View File

@@ -8,6 +8,7 @@ func Test_list_method()
eval l->assert_notequal([3, 2, 1])
eval l->assert_notequal([3, 2, 1], 'wrong')
call assert_equal(l, l->copy())
call assert_equal(l, l->deepcopy())
call assert_equal(1, l->count(2))
call assert_false(l->empty())
call assert_true([]->empty())
@@ -38,6 +39,7 @@ func Test_dict_method()
let d = #{one: 1, two: 2, three: 3}
call assert_equal(d, d->copy())
call assert_equal(d, d->deepcopy())
call assert_equal(1, d->count(2))
call assert_false(d->empty())
call assert_true({}->empty())

View File

@@ -250,7 +250,7 @@ endfunc
func Test_noinsert_complete()
func! s:complTest1() abort
call complete(1, ['source', 'soundfold'])
eval ['source', 'soundfold']->complete(1)
return ''
endfunc
@@ -403,7 +403,7 @@ func DummyCompleteFour(findstart, base)
return 0
else
call complete_add('four1')
call complete_add('four2')
eval 'four2'->complete_add()
call complete_check()
call complete_add('four3')
call complete_add('four4')
@@ -989,7 +989,7 @@ func GetCompleteInfo()
if empty(g:compl_what)
let g:compl_info = complete_info()
else
let g:compl_info = complete_info(g:compl_what)
let g:compl_info = g:compl_what->complete_info()
endif
return ''
endfunc